如何删除 UITableViewCell NSIBPrototypingLayoutConstraint 并将我自己的添加到子视图?

Posted

技术标签:

【中文标题】如何删除 UITableViewCell NSIBPrototypingLayoutConstraint 并将我自己的添加到子视图?【英文标题】:How to remove UITableViewCell NSIBPrototypingLayoutConstraint and Add my own to subviews? 【发布时间】:2013-10-06 03:01:33 【问题描述】:

从 UITableViewCell 子视图中删除 NSIBPrototypingLayoutConstraints 并添加我自己的约束而不在模拟器日志中看到错误消息的正确方法是什么?

例如,我想通过添加宽度约束来动态更改 UITableViewCell 内的 UILabel 的大小。我什至不知道这是否是这样做的首选方法。有什么方法可以让我找到约束并直接更新它吗?

【问题讨论】:

【参考方案1】:

您可以删除对象的所有约束,然后重新添加所需的约束。

要删除它们:

[yourView removeConstraints:yourView.constraints];

然后您可以手动添加自己的约束。 (here is a more detailed link 关于添加视图宽度约束)

仅修改现有约束:

for(NSLayoutConstraint *constraint in yourView.constraints) 
    //you can inspect these to see if their .firstAttribute or .secondAttribute correspond to the type of NSLayoutAttribute you are looking for.
 

【讨论】:

IB生成的NSIBPrototypingLayoutConstraints是不是这样看不到?当我检查 tableview 单元格和 cell.constraints 内的 views.constraints 时,它们似乎是空白的。 你看这个答案了吗?它对自动布局选项有一些想法。此外,如果您删除所有可见的约束,您应该能够用手动输入的约束覆盖 ib one。

以上是关于如何删除 UITableViewCell NSIBPrototypingLayoutConstraint 并将我自己的添加到子视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 UIActionSheet 确认删除 UITableViewCell

如何避免在 UITableViewCell 上滑动删除调用 setEditing

如何从 swift 中的按钮选项中删除 uitableviewcell?

如何自定义滑动 UITableViewCell 时显示的删除按钮

如何从自定义操作中进入删除确认状态 UITableViewCell?

如何删除 UITableViewCell NSIBPrototypingLayoutConstraint 并将我自己的添加到子视图?