我有一个包含不同高度单元格的 tableView。我依靠 iOS 8s 自动调整大小功能来计算高度。当 View 加载时,一切看起来都很棒并且按照计划进行。在某些时候需要删除一个单元格。删除动画后,其余单元格将因未知原因而动画至 44 像素的高度。单元格中的所有 View 都是使用自动布局进行布局的,因此我对原因一无所知。
由于某些限制,我无法尝试以下操作:
- 重新加载表格 View 或
- 使用 heightForRowAtIndexPath 因为一些单元格具有动态高度,并且在调用此委托(delegate)方法时不可用。
最大的问题是为什么?我该如何应对这种行为?
删除行是:
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
动态行具有多行 UILabels 或 UIView。自动布局是通过 IB 完成的
最佳答案
我缺少以下几行:
self.tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.estimatedRowHeight = 44.0
细胞不再收缩。
关于ios - UITableViewCell 行高缩小至默认 44 像素 (iOS 8),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31020478/