我正在尝试更改代码中的一些框架,但我希望自动布局得到尊重。
我有这个层次结构
当我点击导航栏右上角的搜索按钮时,我希望绿色 View 上升 50 像素。它工作得很好,但 tableView 没有遵循自动布局,因为它的顶部绑定(bind)在绿色 View 上。
所以当我点击按钮时,导航栏和表格 View 之间有一个空白区域。
有什么想法可以使用自动布局解决这个问题吗?
最佳答案
当使用自动布局时,框架是基于约束的动态的。每次 View 布局时,它都会通过约束重新计算并更新 View 的框架。因此,您应该更改相应的约束,而不是更改绿色 View 的框架。
在代码调用 topSpace
中创建约束引用,这是绿色 View 和顶部布局指南之间的约束,并在用户点击按钮时将其常量设置为 -50。
关于ios - 在代码中更改框架后自动布局重置 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26281246/