• iOS Assertion failure in -[UICollectionViewData validateLayoutInRect:]


    使用UICollectionView时、滚动过程中发现崩溃报上面的错误,

    我的使用场景是这样的在tableviewcell上嵌套tableview1然后在tableview1的tableviewcell上嵌套CollectionView。

    collectionView滚动过程崩溃 布局与数据不符 原因是布局的缓存 但同样的场景tableview就没有这个问题

      解决办法:添加以下更新布局的代码

    [self.contentView setNeedsLayout];
    [self.contentView layoutIfNeeded];
    
    
    - (void)refreshImg:(NewTaskPointModel *)iCKTrendModel {
        NSInteger count = iCKTrendModel.pictures.count;
        if (count && count<= 9) {
            CGFloat   itemH = 70;
            NSInteger row = (count-1)/3;
            NSInteger collecH = (row + 1) * itemH + row*2;
            
            self.collectionView.hidden = NO;
            self.collectionViewHCons.constant = collecH;
            self.collectionViewWCons.constant = 214;
            self.collectionTopCons.constant = 10;
            
        } else {
            self.collectionView.hidden = YES;
            self.collectionViewHCons.constant = 0;
            self.collectionViewWCons.constant = 0;
            self.collectionTopCons.constant = 0;
        }
        
    //    滚动过程崩溃 布局与数据不符 原因是布局的缓存
    //    刷新数据
        [self.collectionView reloadData];
    //    更新布局
    // 立即执行更新
     [self.contentView setNeedsLayout];

      [self.contentView layoutIfNeeded];
        
    }
  • 相关阅读:
    Spring中使用RedisTemplate操作Redis(spring-data-redis)
    Cron表达式
    自己搭建v,p,n过程
    CentOS 7安装与配置jdk-8u162
    .net自动生成版本号
    关于webapi 返回的类型的笔记
    多个系统间交互-灰度发布-一些笔记
    Unity的使用
    mysql中查询"_"这种特殊字符
    关于MVC中DropDownListFor的一个bug
  • 原文地址:https://www.cnblogs.com/lijianyi/p/11557691.html
Copyright © 2020-2023  润新知