不遵守对 UITableViewCell contentView 的 AutoLayout 约束
AutoLayout constraints to UITableViewCell contentView not respected
我正在尝试创建动态调整大小的 table 视图单元格。我使用 this answer 完成了调整大小,这非常详细且很有帮助。
但是,heightForRowAtIndexPath
中未正确计算标签的最大宽度。
我的单元格目前在其contentView
中只有一个标签,约束设置为将所有标签边缘固定到contentView
边缘。这是我在 IB 中拥有的
正在使用
heightForRowAtIndexPath
中的屏幕外单元格计算单元格大小
CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
在这个过程中,似乎是在遵守约束条件,label.preferredMaxLayoutWidth
属性 被设置为 320,但是当标签真正被渲染时,仍然有填充。
填充是布局边距。您必须注意 Constrain to margins
选项。
Constrain to margins
已启用:
Constrain to margins
已禁用:
如何禁用它?
- 您可以双击约束之一并取消选中
Relative to margin
选项:
- 在创建标签约束时取消选中
Constrain to margins
:
相关link:
What is "Constrain to margin" in Storyboard in Xcode 6
我正在尝试创建动态调整大小的 table 视图单元格。我使用 this answer 完成了调整大小,这非常详细且很有帮助。
但是,heightForRowAtIndexPath
中未正确计算标签的最大宽度。
我的单元格目前在其contentView
中只有一个标签,约束设置为将所有标签边缘固定到contentView
边缘。这是我在 IB 中拥有的
正在使用
heightForRowAtIndexPath
中的屏幕外单元格计算单元格大小
CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
在这个过程中,似乎是在遵守约束条件,label.preferredMaxLayoutWidth
属性 被设置为 320,但是当标签真正被渲染时,仍然有填充。
填充是布局边距。您必须注意 Constrain to margins
选项。
Constrain to margins
已启用:
Constrain to margins
已禁用:
如何禁用它?
- 您可以双击约束之一并取消选中
Relative to margin
选项:
- 在创建标签约束时取消选中
Constrain to margins
:
相关link:
What is "Constrain to margin" in Storyboard in Xcode 6