我需要创建两个UILabel,它们应该根据UITableViewCell
中的文本大小动态调整大小。
第一个UILabel
应该增长(基于文本)到左侧,并且始终与右边界对齐15个点。
第二个UILabel
应该(也向左动态增长),并与第一个UILabel的右边对齐7个点。
... [label 2]<--7p-->[label 1]<--15p-->|right cell border
sizeToFit:
中定义了水平约束。并发现水平约束已被覆盖。
尝试更改
viewDidLoad:
中的帧,但未全部更新(执行选择器的延迟为0-更新所有单元格中的所有标签,但创建了一秒钟的延迟。)请指教,
谢谢阿萨夫
最佳答案
问题1)
实际上,您可以在代码中做到这一点。但我认为Interface Builder更好。
我认为您不必在代码中使用[sizeToFit:]。
如果您没有为标签设置宽度限制,我认为情节提要中会出现警告。
UIControl之类的UILabel,UIButton具有固有的大小,因为它们具有文本内容。因此您无需设置宽度约束。
但是您有两个标签,当标签之间存在冲突时,应该让自动版式知道哪个标签更重要。 -前如果标签的文字较长,则显示的标签文字不会缩短(...)。
为此,请在Interface Builder中设置“拥抱”(或压缩)优先级。
问题2)
[viewDidLoad:]不适合更改几何对象。在[viewWillAppear:]之后,将UIViewController的视图添加到视图层次结构中
如果您需要更多信息,请告诉我。