我遇到了嵌入式视图和自动布局的问题。
我创建了一个视图,它有点复杂。所以现在我想重构这个视图并创建一些视图组件。我得到了其中一个视图,并将它们放在一个 uiview 类中,并将其所有逻辑都放在那里。让我们将此视图称为 XView。到现在为止还好。
所以我尝试将 XView 嵌入到主视图中,以查看该视图及其新组件的工作原理。我把这个命令:
xViewInstance = ...
[self.container addSubview:xViewInstance];
它不起作用。xViewInstance 比父视图大。我想调整 xViewInstance 的大小。
所以我用谷歌搜索了答案,看看出了什么问题。我找到了一些可以帮助我的答案。我找到了 PureLayout。
所以我尝试了它。
- (void)updateViewConstraints {
if (!self.didSetupConstraints) {
[self.xViewInstance autoPinEdgesToSuperviewEdges];
self.didSetupConstraints = true;
}
[super updateViewConstraints];
}
它没有用。xViewInstance 继续大于其父级。
我在堆栈中找到了另一个答案,一个在代码中创建约束的代码,以编程方式调整子视图。再次它没有工作。
现在我不知道会发生什么。我认为这可能是 xViewInstance 约束的一些优先级。
有没有人因这种情况而通过?如果有人能就此提供一些建议,我将不胜感激。