UITableViewCell 根据数据动态适应高度的坑

项目中经常遇到在 UITableViewCell 中嵌套 其他 UITableView 或者 UICollectionView 的情况. 在设置了嵌套View的高度后, cell 的高度异常问题.

- (void)awakeFromNib {
    [super awakeFromNib];

    self.collectionView.delegate = self;
    self.collectionView.dataSource = self;
    
    NSString *identifier = NSStringFromClass([XXXCollectionViewCell class]);
    UINib *xib = [UINib nibWithNibName:identifier bundle:[NSBundle mainBundle]];
    
    [self.collectionView registerNib:xib forCellWithReuseIdentifier:identifier];
    
    @weakify(self);
    [RACObserve(self.collectionView, contentSize) subscribeNext:^(id x) {
        @strongify(self);
        CGFloat height = self.collectionView.contentSize.height;
        self.contentConstraintHeight.constant = height;
    }];
}

- (void)loadData:(id)cellData
{
    [self.collectionView reloadData];
    
    [self layoutIfNeeded];
}
复制代码

##关键是 reloadData后的 [self layoutIfNeeded];

转载于:https://juejin.im/post/5b3065566fb9a00e6879fa02

你可能感兴趣的:(UITableViewCell 根据数据动态适应高度的坑)