使用纯布局时如何实时添加随机视图
How to add a random view in real time when using Pure Layout
我在我的 iOS 应用程序中使用 PureLayout,我正在按照此处的说明进行操作:
https://github.com/PureLayout/PureLayout/wiki/Tips-and-Tricks
也就是说,使用名为 didSetupConstraints 的标志和方法 updateViewConstraints。
但是现在我想在用户按下按钮时在另一个随机视图中添加一个视图。
我能想到的唯一方法是创建另一个标志,如 didNewViewSetupConstraints 并在 updateViewConstraints 中创建另一个块,我在其中使用 2 个 UIView 变量在它们之间创建新的约束。
那正确吗?因为我认为这只是一件小事(添加子视图及其约束)需要做很多工作。
请注意,我无法在不安装约束的情况下创建约束,因为我事先不知道(用户将点击它们)。这就是我评论 RANDOM 的原因。
我在示例代码 10 中看到,它用于 autoRemoveConstraints 和 autoInstallConstraints 在两组约束之间切换。因为我的 2 个视图是随机的,所以我想我不能做那样的事情,这就是我为这 2 个视图创建一个标志和 2 个变量以在 updateViewConstraints 中设置约束的原因。但我敢肯定这太多了。
感谢您的任何建议或想法。
您 没有 到 create/activate -updateConstraints
内的所有约束。您可以随时创建约束并激活它们,只要您希望约束的两个视图共享一个公共父视图(换句话说,这些视图需要已经添加到相同的视图层次结构中)。
我建议您在 -updateConstraints
中创建默认的静态约束集。然后,在用户点击按钮时的回调方法中,您可以创建这个新视图,将其添加为子视图,然后立即为其创建并激活新约束。
如果您稍后删除此视图,将自动删除与其关联的所有约束。但是如果您需要为这个新视图调整约束,您可以在创建约束时单独存储对约束的引用。
我在我的 iOS 应用程序中使用 PureLayout,我正在按照此处的说明进行操作: https://github.com/PureLayout/PureLayout/wiki/Tips-and-Tricks 也就是说,使用名为 didSetupConstraints 的标志和方法 updateViewConstraints。 但是现在我想在用户按下按钮时在另一个随机视图中添加一个视图。 我能想到的唯一方法是创建另一个标志,如 didNewViewSetupConstraints 并在 updateViewConstraints 中创建另一个块,我在其中使用 2 个 UIView 变量在它们之间创建新的约束。 那正确吗?因为我认为这只是一件小事(添加子视图及其约束)需要做很多工作。 请注意,我无法在不安装约束的情况下创建约束,因为我事先不知道(用户将点击它们)。这就是我评论 RANDOM 的原因。 我在示例代码 10 中看到,它用于 autoRemoveConstraints 和 autoInstallConstraints 在两组约束之间切换。因为我的 2 个视图是随机的,所以我想我不能做那样的事情,这就是我为这 2 个视图创建一个标志和 2 个变量以在 updateViewConstraints 中设置约束的原因。但我敢肯定这太多了。 感谢您的任何建议或想法。
您 没有 到 create/activate -updateConstraints
内的所有约束。您可以随时创建约束并激活它们,只要您希望约束的两个视图共享一个公共父视图(换句话说,这些视图需要已经添加到相同的视图层次结构中)。
我建议您在 -updateConstraints
中创建默认的静态约束集。然后,在用户点击按钮时的回调方法中,您可以创建这个新视图,将其添加为子视图,然后立即为其创建并激活新约束。
如果您稍后删除此视图,将自动删除与其关联的所有约束。但是如果您需要为这个新视图调整约束,您可以在创建约束时单独存储对约束的引用。