我想对可能的表格视图单元格内容使用自动布局。到目前为止,这一直有效。现在,我想在表格视图的右侧对齐UILabel。如果执行此操作,则对齐不正确。相反,它完全在左侧。因此,似乎在应用约束时未计算表格视图的宽度。我尝试了两种不同的方法:

1号

this.ContentView.AddConstraints (NSLayoutConstraint.FromVisualFormat ("H:[iNumberLabel]-|", (NSLayoutFormatOptions)0, null, viewsDictionary));


2号

this.ContentView.AddConstraint (NSLayoutConstraint.Create (iNumberLabel, NSLayoutAttribute.Right, NSLayoutRelation.Equal, this.ContentView, NSLayoutAttribute.Right, 1, 0));


将约束添加到表视图单元子类的UpdateConstraints中。代码在C#中,但这没关系。如果您能提供解决方案,我将非常高兴。

最佳答案

此格式字符串:"H:|-[iNumberLabel]-|"

告诉系统使用默认填充将标签固定到单元格的两侧,因此标签将接近单元格的宽度。如果要使其右对齐,则应去除左侧的间距,

"H:[iNumberLabel]-|"


我不知道为什么第二种方法不起作用。如果那是您唯一的水平约束,那么它应该已经起作用。

10-08 15:33