ios - 在 View 期间更改后重新排列 autoLayout

标签 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,但随着 View 加载后发生高度变化,TableView2 不会自行调整以保持“与 TableView1 的顶部空间”

最佳答案

您正在更改帧大小而不是高度约束常量。您应该连接高度约束 (IBOutlet) 并更改高度,更改后调用 self.view.layoutIfNeeded()

在这里example动画约束。

关于ios - 在 View 期间更改后重新排列 autoLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37667775/

相关文章:

ios - 缩进自定义表格 View 单元格

ios - 是否可以在 iOS 9 上将 iPad 应用程序设置为不进行多任务处理

ios - 使用 Xcode 查看 iPhone 上的数据库

android - 如何制作 react native 输入,向用户提供验证状态反馈。 [有效、打印、错误、编辑]

ios - 在运行 App 时编辑单元格时更新数组

ios - 更新 UITableView 中的 UIImage

objective-c - MGSplitView Controller 框架变化

ios - OperationQueue/DispatchGroup 和递归

swift - 在快速解析 Json 中展开可选值时意外发现 nil

swift - 强制解包的目的