我已经设置了一个tableview来使用自调整单元格(实际上我没有做任何事情而不是使用自动布局 - 似乎UITableViewAutomaticDimension
是默认的rowHeight)。
细胞大小正确:
但是,当我将另一个控制器推入堆栈时,单元格会在转换动画之前立即调整大小:
当我弹回到表视图控制器时,它们仍保持不正确的大小。我可以通过重新加载viewWillAppear
来重新计算正确的高度来部分解决这个问题,但之后我会丢失一些其他的动画和选择状态。
这是iOS错误吗?我该如何解决它?
Here是一个展示相同内容的示例项目。
答案 0 :(得分:0)
您需要设置estimatedRowHeight:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.tableView registerClass:[Cell class] forCellReuseIdentifier:@"Cell"];
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.estimatedRowHeight = 80;
}