UITableView rowHeight UITableViewAutomaticDimension 首次加载后单元格高度错误
Posted
技术标签:
【中文标题】UITableView rowHeight UITableViewAutomaticDimension 首次加载后单元格高度错误【英文标题】:UITableView rowHeight UITableViewAutomaticDimension cell wrong height after first load 【发布时间】:2017-07-29 17:19:20 【问题描述】:我有一个 UITableViewCell 子类,它有两个可变高度的标签。 AFAIK,自动布局约束是正确的。第一次在表格中渲染单元格时它是正确的,但是任何后续渲染都被吹得太高了。即使在父视图控制器被释放之后!它实际上需要重新启动应用才能恢复正常。
我已尝试在单元格类中的 prepareForReuse 覆盖中清除标签文本。
// viewDidLoad tableView.rowHeight = UITableViewAutomaticDimension tableView.estimatedRowHeight = 300
【问题讨论】:
【参考方案1】:为了支持 textview 的动态布局,需要一个高度约束,并且需要在 layoutSubviews
方法中更新(你需要子类化 UITextview
)。
除此之外,您还需要确保您有一个 UITextview 底部约束与单元格的 contentView。
【讨论】:
【参考方案2】:听起来您对UILabel
的底部约束正在增加。检查您是否正在更新底部约束常量值。
【讨论】:
以上是关于UITableView rowHeight UITableViewAutomaticDimension 首次加载后单元格高度错误的主要内容,如果未能解决你的问题,请参考以下文章
iOS:UIImageView随着UITableView.rowHeight的变化而变化,如何避免?
Xcode 6 iOS 8 UITableView rowHeight 属性返回-1 [重复]
当我为 UITableView 设置 rowHeight 时,单元格的高度不应该也改变吗?
当我更改行数时,具有 rowHeight UITableViewAutomaticDImension 的 UITableView 不会更新
UITableView rowHeight UITableViewAutomaticDimension 首次加载后单元格高度错误
iOS8:可以对静态单元格使用“tableview.rowHeight = UITableViewAutomaticDimension”吗?