问题:
由于开始做的列表是通底并且cell高度不定,因此用tableViewCell自适应开发的列表,后期设计要求优化,若cell数量少,tableView跟随内容高度变化,最长为通底。
解决:
tableView、collectionView父类为scrollView,所以可以应用contentSize
属性进行tableView.frame
更新,避免计算每个cell高度进行累加。
但在reloadData后tableView并不会立即更新其contentSize,因此需要调用layoutSubviews
或 layoutIfNeeded
进行视图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);