我在Storyboard中有2个TableViews(一个在顶部,另一个在底部),并且自动布局已设置并可以工作。对于TableView,我正在从数据库中检索数据,因此它不会立即显示TableView内容。检索数据完成后,在numberOfRowsInSection
中,我根据计数更改TableView的高度。
if tableView == self.TableView1 {
count = tableView1Content.count
if count != nil {
let cellSize = 100
switch count! {
case 0:
tableView.frame.size.height = CGFloat(0)
break;
case 1:
tableView.frame.size.height = CGFloat(cellSize)
case 2:
tableView.frame.size.height = CGFloat(cellSize * 2)
default:
print("D")
break;
}
}
}
因此,我可以更改TableView1的高度。 TableView2的“ TableView1的顶部空间”为10,但是由于在加载视图后发生高度变化,TableView2不会自行调整以保持“ TableView1的顶部空间”
最佳答案
您正在更改帧大小,而不是高度约束常数。在更改调用self.view.layoutIfNeeded()
之后,您应该连接高度约束(IBOutlet)并更改高度。
此处为动画约束的example。
关于ios - 查看期间更改后重新排列自动布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37667775/