我需要创建两个 UILabels,它们应该根据 UITableViewCell
中的文本大小动态调整大小。 .
第一个UILabel
应该成长 (基于文本)向左并始终与右边框对齐 15 点。
第二个 UILabel
应该(也向左动态增长)并与第一个 UILabel 的右侧对齐 7 个点。
... [label 2]<--7p-->[label 1]<--15p-->|right cell border
sizeToFit:
在代码上。viewDidLoad:
中的帧但并非所有都被更新(执行选择器的延迟为 0 - 更新所有单元格中的所有标签,但创建了 1 秒的延迟。)问题 1)
其实你可以在代码中做到这一点。但我认为 Interface Builder 在你的情况下更好。
我认为您不必在代码中 [sizeToFit:]。
如果您没有为标签设置宽度约束,我认为您的 Storyboard中有警告。
像 UILabel、UIButton 这样的 UIControls 具有固有大小,因为它们具有文本内容。所以你不需要设置宽度约束。
但是你有两个标签,当标签之间存在冲突时,你应该让自动布局知道哪个标签更重要。 - 前任。如果标签有长文本,则显示哪个标签的文本而不缩短(...)。
为此,请在 Interface Builder 中设置 Hugging(或 Compression)优先级。
问题2)
[viewDidLoad:] 不适合改变几何的东西。在 [viewWillAppear:] 之后的 View 层次结构中添加了 UIViewController 的 View
如果您需要更多信息,请告诉我。
关于ios - 使用 autoLayout 进行动态 View 更改(即 UILabel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24650674/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) | Powered by Discuz! X3.4 |