iOS tableView跟随内容高度自适应变化

问题:

由于开始做的列表是通底并且cell高度不定,因此用tableViewCell自适应开发的列表,后期设计要求优化,若cell数量少,tableView跟随内容高度变化,最长为通底。

解决:

tableView、collectionView父类为scrollView,所以可以应用contentSize属性进行tableView.frame更新,避免计算每个cell高度进行累加。
但在reloadData后tableView并不会立即更新其contentSize,因此需要调用layoutSubviewslayoutIfNeeded进行视图layout即时更新,再通过contentSize更新frame。

[self.tableView reloadData];
NSLog(@"dezi 错误的size--- %f", self.tableView.contentSize.height);
[self.tableView layoutIfNeeded];
NSLog(@"dezi 正确的size--- %f", self.tableView.contentSize.height);

你可能感兴趣的:(iOS tableView跟随内容高度自适应变化)