我试图强制自己开始在任何地方使用 AutoLayout。我有一个使用框架非常简单的场景,但我无法使用 Autolayout 使其工作。
我有一个 StoryBoard,我不能碰它,因为它属于图书馆。当加载与 Storyboard相关的 ViewController 时,我想以编程方式添加一个 View 。所以我在 viewDidLoad
中创建了一个 UIView
,添加了高度和宽度的约束以及另外两个用于定位它们的约束。一切都很好,但宽度,我想要与其他 View 具有相同的宽度。我应该怎么做?
我在 viewDidLoad
中记录了“其他 View ”的大小,但大小不对,我还记录了 self.view.frame.size.width
, 也不正确。
我读到直到 viewDidLayoutSubviews
才设置正确的尺寸,所以我尝试在那里添加我的代码,但我陷入了对 viewDidLayoutSubviews
的调用循环,永无止境.我做错了什么?
最佳答案
尝试将代码放在 viewDidAppear
中。检查 subview 是否已经是 View 的后代,如果不是,则添加具有约束的 subview 。
关于ios - 使用Autolayout时应该在哪里手动添加 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30200617/