在视图中更改后重新排列autoLayout

时间:2016-06-06 22:25:35

标签: ios swift uitableview autolayout constraints

我在Storyboard中有2个TableViews (一个位于顶部,另一个位于底部),并且自动布局已设置并正常工作。对于TableViews,我正在从数据库中检索数据,因此它不会立即显示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”

1 个答案:

答案 0 :(得分:1)

您正在更改帧大小而不是高度约束常量。在更改调用self.view.layoutIfNeeded()

之后,您应该连接高度约束(IBOutlet)并更改高度

动态约束的example