我在哪里可以访问 IB 自动生成的布局约束?
Posted
技术标签:
【中文标题】我在哪里可以访问 IB 自动生成的布局约束?【英文标题】:Where exactly can I access IB auto generated layout constraints? 【发布时间】:2013-10-06 23:17:33 【问题描述】:我在UITableViewCell
中有一个UILabel
,似乎有NSIBPrototypingLayoutConstraints
由IB 自动生成。
看起来我实际上无法通过调用myLabel.constraints
或myCell.constraints
来访问约束。
它是存储在其他地方还是我无法通过代码访问它?
【问题讨论】:
它们可能在单元格的contentView
属性中吗?
【参考方案1】:
如果是自定义表格单元格(即您将 UILabel 从对象库拖到表格单元格中),则在 IB 中选择 UILabel。在 IB 画布的右下角,单击“解决自动布局问题”按钮——它看起来像来自《星球大战》的 Tie-Fighter。从弹出菜单中,选择“添加缺少的约束”。这应该显示自动生成的约束。您可以在 IB 中重新配置它们并为它们创建出口。
如果您使用的 UILabel 带有这些预配置的表格单元之一(例如,基本样式),那么您可能无法重新配置标签的约束。对于预配置单元格中的 UILabel,“添加缺少的约束”项被禁用。
如果您想在预配置的表格单元格中修改 UILabel 的约束,那么您可以考虑改用自定义样式的表格单元格。
【讨论】:
以上是关于我在哪里可以访问 IB 自动生成的布局约束?的主要内容,如果未能解决你的问题,请参考以下文章
Interface Builder 对 UIScrollView 的正确约束是啥?来自 IB 的纯自动布局