我的 UIViewController
中有 2 个 View (比如 topView
和 bottomView
),topView
位于顶部。两个 View 都随着 aspect ratio
约束而增长。 topView
和 bottomView
之间的垂直间距为 0。我想在特定情况下隐藏 bottomView
。但问题是我没有可用的 height
约束。我在 topView
和 bottomView
之间只有Vertical Space constraint。所以我决定将bottomView
移到topView
下。我尝试在 View Controller 的 viewDidLayoutSubViews
self.verticalSpaceConstraint.constant = -1*[bottomView intrinsicContentSize].height;
和
self.verticalSpaceConstraint.constant = -1*[bottomView bounds].size.height;
intrinsicSize
总是返回 (1,1) 而 bounds
总是返回 (0,0,320,568)
。我怎样才能做到这一点?
最佳答案
您可以同时向 View 添加高度约束(具有常量值 0)和纵横比约束,但这些约束应该具有不同的优先级,而不是优先级为 1000 的约束(必需)。然后隐藏 View 只需以编程方式设置宽高比约束的优先级低于高度约束,反之亦然以显示它。希望这有帮助
关于ios - 自动布局:在不知道高度约束的情况下隐藏 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611277/