我无法让我的 UITableView 在我的 Stack View 中显示全高。
我的 View 树如下所示:
- View
- Scroll View
- Stack View
- Table View
- Image View
- Map View
表格 View 动态填充数据,效果很好。问题是一次只能看到一行,我必须滚动列表。我希望看到的是 TableView 占用尽可能多的垂直空间来显示所有单元格。
我确实尝试过按如下方式调整表格高度,但最终表格不再滚动,尽管即使它确实有效,我还是希望有一些更动态的东西:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
self.detailsTableView.frame.size.height = 200
}
我怀疑这可能是需要调整的“堆栈 View ”的一个方面,但我现在不确定。谁能提出合适的方法?
最佳答案
我一直遇到同样的问题,并意识到您需要一个自动调整大小的 TableView 。我偶然发现了这个 answer并创建了一个像@MuHAOS 建议的子类。我没有遇到任何问题。
final class IntrinsicTableView: UITableView {
override var contentSize: CGSize {
didSet {
invalidateIntrinsicContentSize()
}
}
override var intrinsicContentSize: CGSize {
layoutIfNeeded()
return CGSize(width: UIView.noIntrinsicMetric, height: contentSize.height)
}
}
关于ios - 扩展 UITableView 以显示 Stack View 中的所有单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35876003/