Cell 高度缓存

  id model = self.photos[indexPath.row];
ShopPhotoPostModel *postModel = (ShopPhotoPostModel *)model;
            if (postModel.cellHeight) {
                return postModel.cellHeight;
            }
 ShopPhotoPostModel *feed = [self.photos objectAtIndex:indexPath.row];
            
            static SceneFeedCell *cell = nil;
            static dispatch_once_t onceToken;
            dispatch_once(&onceToken, ^{
                cell = [self.sceceFeedView.tableView dequeueReusableCellWithIdentifier:SceneFeedIdentifierCell];
            });
            
            cell.entity = feed;
            
            [cell updateConstraints];
            
            CGSize size = [cell.contentView systemLayoutSizeFittingSize:UILayoutFittingCompressedSize];
            feed.cellHeight = size.height + 1.0f;
            
            return size.height + 1.0f;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容