在我的CustomTableViewCell类中,我像这样设置LineBreakMode:
protected override void CreateView()
{
base.CreateView();
SelectionStyle = UITableViewCellSelectionStyle.None;
myLabel = new UILabel
{
Font = UIFont.SystemFontOfSize(17f, UIFontWeight.Regular),
LineBreakMode = UILineBreakMode.TailTruncation
};
myImageView = new UIImageView(new UIImage("myImage.png"));
BackgroundColor = UIColor.Clear;
ContentView.AddSubviews(myImageView, myLabel);
ContentView.SubviewsDoNotTranslateAutoresizingMaskIntoConstraints();
}
我希望看到“ Lorem ipsum dolor坐在amet c ...”。 但这似乎不起作用,结果如下:
更新:当我尝试像这样设置标签的宽度时:
myLabel = new UILabel
{
Font = UIFont.SystemFontOfSize(17f, UIFontWeight.Regular),
LineBreakMode = UILineBreakMode.TailTruncation,
Frame.Size.Width = 100.0
};
我收到错误消息:
无法修改'CGRect.Size'的返回值,因为它不是变量
无效的初始值设定项成员声明符
任何想法,如何解决?
答案 0 :(得分:0)
我找到了解决方案。我使用Cirrious.FluentLayout创建布局,但忘记在覆盖的 CreateConstraints()方法中设置 myLabel.AtRightOf()。 使用它,它可以正常工作:
protected override void CreateConstraints()
{
base.CreateConstraints();
ContentView.AddConstraints(
...
myLabel.AtRightOf(ContentView, 10),
...
);
}