0

我在我的 iOS 应用程序中使用 PureLayout,并按照此处的说明进行操作: https ://github.com/PureLayout/PureLayout/wiki/Tips-and-Tricks 也就是说,使用名为 didSetupConstraints 的标志和方法 updateViewConstraints。但是现在我想在用户按下按钮时在另一个随机视图中添加一个视图。我能想象的唯一方法是创建另一个标志,如 didNewViewSetupConstraints 并在 updateViewConstraints 中创建另一个块,我使用 2 个 UIView 变量在它们之间创建新的约束。那正确吗?因为我认为这只是一件小事(添加子视图及其约束)需要做很多工作。请注意,我无法在不安装约束的情况下创建约束,因为我事先不知道(用户将点击它们)。这就是我评论 RANDOM 的原因。我在示例代码 10 中看到,它使用 autoRemoveConstraints 和 autoInstallConstraints 在两组约束之间切换。因为我的 2 个视图是随机的,我想我不能做这样的事情,这就是我为这两个视图创建一个标志和两个变量以在 updateViewConstraints 中设置约束的原因。但我敢肯定这太过分了。感谢您的任何建议或想法。

4

1 回答 1

1

您不必-updateConstraints. 您可以随时创建约束并激活它们,只要您希望约束的两个视图共享一个公共超级视图(换句话说,视图需要已经添加到相同的视图层次结构中)。

我建议您在其中创建默认的静态约束集-updateConstraints。然后,在用户点击按钮时的回调方法中,您可以创建这个新视图,将其添加为子视图,然后立即为其创建和激活新约束。

如果您稍后删除此视图,则会自动删除与其关联的所有约束。但是,如果您需要调整此新视图的约束,您可以在创建约束时存储对约束的单独引用。

于 2016-01-31T00:23:11.760 回答