如果我在情节提要中创建了约束,并且选中了Installed属性:
swift - 以编程方式访问未安装的约束?-LMLPHP
... 我可以通过阅读我的视图上的约束来访问它:

myView.constraints

这将返回此级别上安装的所有约束。
如果我取消了故事板中已安装的属性,在[NSLayoutConstraint]myView.constraints数组中不再存在约束。有没有什么方法可以在我的故事板中访问这些未安装的约束,而不为它们创建IBOutlets?
例如,在视图层次结构中的每个视图上循环并以这种方式找到它的解决方案就足够了,但我似乎找不到这样做的方法。
此外,如果存在myView.archivedConstraintsmyView.uninstalledConstraints或类似的情况,这也是一个很好的解决方案。

最佳答案

我认为你有三种方法可以做到这一点:
创建一个IBOutlet来访问该约束。
在添加的所有约束上循环访问它们(不推荐)
以编程方式添加该约束。
但据我所知,对于所有这些应用程序,您都需要安装该约束,以使其在运行时在应用程序中“活动”、“可见”或“可见”。
也许这篇文章可以帮助你activateConstraints: and deactivateConstraints: not persisting after rotation for constraints created in IB

10-08 04:52