zoukankan      html  css  js  c++  java
  • 第19月第2天 cellForItemAtIndexPath 返回空

    1.

    动画需要获取当前的 Cell ,下面的调用在 viewDidLoad 中,有时候返回 nil,有时候成功。

    UICollectionView *cell = (UICollectionView*)[self.collectionView cellForItemAtIndexPath:indexPath];

    简单的解决方法,是在调用之前添加

    [self.collectionView layoutIfNeeded];

    原因是,根据苹果开发者文档:
    UICollectionView如果 cell 不是 visible 的 或者 indexPath 超过有效范围,就返回 nil。 

    在 iOS 10 上 还有一种解法:

    [self.collectionVew setPrefetching​Enabled: NO];

    但这种就牺牲了性能。

    https://yiweifen.com/html/news/WaiYu/13536.html

    2.点击cell reload oldIndex

        [collectionView reloadItemsAtIndexPaths:@[oldIndexPath,indexPath]];

     

    如果oldIndex和indexPath,会有显示bug

    if (oldIndex != indexPath.row) {

      

    [collectionView reloadItemsAtIndexPaths:@[oldIndexPath,indexPath]];

     

    }

  • 相关阅读:
    四 闭包函数、装饰器
    三 名称空间与作用域
    二 函数对象、函数嵌套
    一 函数定义
    函数路线
    Django_rest_framework分页
    Django Rest framework序列化流程
    Django Rest framework的限流实现流程
    mysql 数据库查看表的信息
    java JDBC编程流程步骤
  • 原文地址:https://www.cnblogs.com/javastart/p/8689945.html
Copyright © 2011-2022 走看看