1.UITableView设置cell 高度自适应
self.tableView.estimatedRowHeight = 44;
self.tableView.rowHeight = UITableViewAutomaticDimension;
2.在cell中更新collectionview的高度
通过collectionView.collectionViewLayout.collectionViewContentSize可以获取到collectionView的高度
// 更新数据源
-(void)setItemCount:(int)itemCount{
_itemCount = itemCount;
[self.collectionView reloadData];
[self.collectionView layoutIfNeeded];
}
-(CGSize)systemLayoutSizeFittingSize:(CGSize)targetSize withHorizontalFittingPriority:(UILayoutPriority)horizontalFittingPriority verticalFittingPriority:(UILayoutPriority)verticalFittingPriority{
// 在对collectionView进行布局
self.collectionView.frame = CGRectMake(0, 0, targetSize.width, 44);
[self.collectionView layoutIfNeeded];
// 由于这里collection的高度是动态的,这里cell的高度我们根据collection来计算
CGSize collectionSize = self.collectionView.collectionViewLayout.collectionViewContentSize;
CGFloat cotentViewH = collectionSize.height;
return CGSizeMake([UIScreen mainScreen].bounds.size.width, cotentViewH + 30);
}
网友评论