UITableViewCell行高缩小到默认44像素(iOS 8)

时间:2015-06-24 07:35:21

标签: ios uitableview autolayout

我有一个tableView,其中包含不同高度的单元格。我依靠iOS 8s自动调整功能来计算高度。当视图加载时,一切看起来都很棒并且按计划进行。在某些时候,需要删除一个单元格。在删除动画之后,由于未知原因,其余单元格将动画为44像素的高度。单元格中的所有视图都使用autolayout进行布局,所以我对原因一无所知。

由于某些限制,我无法尝试以下操作:

  • 重新加载表格视图或
  • 使用heightForRowAtIndexPath,因为有几个单元格具有动态高度,并且在调用此委托方法时不可用。

最大的问题是为什么?我该如何反击这种行为?

删除行是:

tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)

动态行具有多行UILabel或UIViews。 Autolayout通过IB

完成

1 个答案:

答案 0 :(得分:2)

我错过了以下几行:

self.tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.estimatedRowHeight = 44.0

细胞不再萎缩。