ios - 如何在不指定估计行高的情况下使用 iOS 自动调整单元格大小?

标签 ios uitableview cocoa-touch ios8 uikit

我想利用 Auto Layout 在 iOS 8 中自动处理我的单元格高度,但我讨厌过分挑剔的估计行高使滚动(跳动、滚动位置不可预测等)。

有没有一种方法可以不使用估计,以便表格 View 像 iOS 7 之前那样预先计算所有行高(没有太多单元格,所以不是性能问题)但使用 iOS 8 的高度自动计算?

最佳答案

编辑:

如果不使用此属性,则无法使用动态调整大小。 estimatedRowHeight 告诉系统使用动态大小,假设您在单元格中使用了自动布局。

观看 WWDC 2014 视频 226。

//

非常简单——在 Storyboard 中创建原型(prototype)单元格,向 super View 顶部/底部(也称为单元格内容 View )添加约束,这意味着您的 subview 具有顶部/底部约束,这些约束将在必要时“插入”单元格大小。

使 TableView 和 Cell 高度都设置为默认值。如果这是问题(自动布局需要比默认的 44 pts 更高的高度),那么请确保在代码中执行此操作: tableView.rowHeight = UITableViewAutomaticDimension 不要忘记设置 estimatedRowHeight 以告知系统您希望启用动态大小调整。

关于ios - 如何在不指定估计行高的情况下使用 iOS 自动调整单元格大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28790362/

相关文章:

ios - 将时间添加到日期选择器日期和时间会产生相同的日期和时间。 swift

ios - 如何在iOS10上使用“返回应用”按钮

iOS Swift 谷歌地图 - mapView didTapMarker 不工作?

iOS 9 : MapView with multiple Annotations inside a UITableViewCell

ios - UIPopover 外观 : Ugly rounded corner edges

ios - 填写所有 UITextField 后,UIButton 未启用

ios - -[UIPickerTableView _createPreparedCellForGlobalRow :withIndexPath:],/SourceCache/UIKit_Sim/UIKit-2903.2/UITableView.m:7768 断言失败

objective-c - iOS:忽略年份的日期组件

ios - NIB 中的导航项始终为零

ios - 导航栏与 QLPreviewController 中的状态栏重叠