ios - 容器 View 根据子项设置高度

标签 ios uitableview swift

这是我的问题。我有这个 Storyboard:storyboard 第一个容器必须有一个固定的高度。它与带开关的 DetailFormViewController 有关。我不希望它可以滚动。

第二个容器必须有动态高度,即取可用高度。它将显示合适的 View 。

这是我在 iPhone 6 上拥有的:iphone 6在 iPhone 5S 上:iphone 5S .

我有 3 个问题:

  1. 为什么 DetailFormViewController tableView 的顶部有一个空白区域?
  2. 我怎样才能删除它并实现我的目标?
  3. 您认为我放置的布局是实现我想要的效果的最佳方式吗(基于 iPhone 6 屏幕截图)?

感谢您的所有回答。

最佳答案

用于使顶部容器高度固定,底部容器灵活。要在顶部容器中仅保留 4 行,请将顶部容器高度约束值设置为等于 4 单元格高度(4 * 单元格高度)。

需要在两个容器上添加约束,如下所示:

我将第一个容器命名为 Top Container View,将第二个容器命名为 Bottom Container View。

  Top Container View constraints:
     - Top Space to Top Layout Guide
     - Leading Space to container
     - Trailing Space to container
     - Vertical Space to Bottom Container View
     - Height

  Bottom Container View constraints:
     - Bottom Space to Bottom Layout Guide
     - Leading Space to container
     - Trailing Space to container

图中提到了约束条件: Constraints on Container views

设置Top Container View的高度定义了Top View的高度是固定的,而Bottom Container View的高度是可变的。

iPhone 4s 人像:

iPhone 4S Portrait Layout with above set constraints

iPhone 4S 横向: iPhone 4S Landscape layout with same constraints

iPhone 5S 人像:

iPhone 5S Portrait layout with same constraints

iPhone 5S 风景: iPhone 5S Landscape layout with same constraints

关于ios - 容器 View 根据子项设置高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29802449/

相关文章:

ios - 无法在 Swift 1.2 的 UITableViewDelegate 方法中使用自定义 TableViewCell 类

ios - 用 swift 删除键盘

ios - 如何使用页面控件在 iOS 中开发部分

ios - 不能使用其他类的 reloadData

ios - 如何告诉 UITableView 自调整单元格的高度即将改变?

ios - tableview 上的滚动 Action

ios - DiffableDataSource:快照不会重新加载页眉和页脚

ios - UIPickerView上的EXC_BAD_ACCESS-为什么需要一些指导

ios - 设置 UITableView 委托(delegate)和数据源时的最佳实践

Swift:Realm - 在将数据添加到数据库时更新 UI(进度)