即使视图被移除也保持约束

Posted

技术标签:

【中文标题】即使视图被移除也保持约束【英文标题】:Keep the constraints even when the view is removed 【发布时间】:2015-07-09 21:39:23 【问题描述】:

在我的应用程序中,我在这样的视图控制器之上展示了一个视图控制器:

self.presentViewController(next, animated: true, completion:nil)

然后解散此视图控制器以返回到第一个控制器,如下所示:

[self.contentViewController dismissViewControllerAnimated:YES completion:^

    ];

但是这次我用约束很好地完成的所有子视图都搞砸了。似乎他们之间的约束已经消失了。

虽然我在谷歌上找不到具体的答案,但似乎一旦视图消失,约束就会消失,您必须再次添加它。是真的吗?

【问题讨论】:

【参考方案1】:

虽然我在谷歌上找不到具体的答案,但似乎 就像视图消失后约束就会消失 你必须再次添加它。是真的吗?

如果您没有使用[view removeConstraints:myConstraint] 删除约束,那么约束将不会被删除并永远存在。我只能建议创建一个新的单一视图项目并再次设置视图。您的设置出了点问题。

【讨论】:

以上是关于即使视图被移除也保持约束的主要内容,如果未能解决你的问题,请参考以下文章

Swift:removefromSuperview 移除约束

在超级视图的中心保持两个可变宽度视图靠近在一起的约束

5-07删除约束

即使在添加子视图之后,视图层次结构也没有为约束做好准备

NSTableView 在特定条件下不重绘

向其子视图(即 UILabel)添加约束时,无法保持集合视图单元格的固定大小