我在UITableViewCell中有UICollectionView,单元格的动态宽度取决于文本。我面临的问题是当我在单元格内的集合显示正确后滚动TableView时。
这是我做的,我在设置了数据源之后调用了invalidateLayout
,并且还调用了- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CGSize calCulateSizze =[[datasource objectAtIndex:indexPath.row] sizeWithAttributes:NULL];
NSLog(@"%f %f",calCulateSizze.height, calCulateSizze.width);
calCulateSizze.width = calCulateSizze.width+20;
calCulateSizze.height = 35;
return calCulateSizze;
}
#pragma mark - Public
- (void)setCellData:(id)pData {
GSHColumns *column = (GSHColumns*)pData;
if (column.options.count > 0) {
datasource = column.options;
[_collectionView reloadData];
[_collectionView.collectionViewLayout invalidateLayout];
}
[titleLabel setText:column.displayName];
}
但是没有工作
这是我做的, 在tableViewCell类中,
{{1}}
这是滚动前的样子
滚动后,