tableViewCell包含 viewController,它的高度是在 tableView 完成视图布局后计算的。所以我需要通过调用方法触发tableView再次请求行高。heightForRowAtIndexPath
我试过setNeedsLayout了,不行,系统不会调用heightForRowAtIndexPath方法。
reloadData或者reloadRowsAtIndexPaths不是很好的选择,因为它会重新加载所有的单元格,并且所有的viewControllers都内置到单元格中,当viewController完成布局过程并被viewDidLayoutSubviews调用时,reloadData 会再次调用,所以它是一个无限循环。
我正在测试tableView.beginUpdates() tableView.endUpdates()空更新操作。有时它会触发heightForRowAtIndexPath,有时不会。