解决UICollectionView自定义布局出现的警告

最近在项目中遇到一个问题,我自定义布局模仿喵街的时候一直报一个警告,下面是打印:

**UICollectionViewFlowLayout has cached frame mismatch for index path <NSIndexPath: 0xc000000000000016> {length = 2, path = 0 - 0} - cached value: {{0, -170}, {414, 240}}; expected value: {{0, 0}, {414, 0}}**
**2016-05-24 20:02:26.808 SquareTest[4974:409557] This is likely occurring because the flow layout subclass YYSliderViewLayout is modifying attributes returned by UICollectionViewFlowLayout without copying them**

谷歌了很久一直没有找到答案,最后通过如下方式解决了问题,在此记录一下:
原来的方法是:

    NSArray *array = [super layoutAttributesForElementsInRect:correctRect];

将上面的方法改为:

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect
{

    NSArray *original = [super layoutAttributesForElementsInRect:correctRect];
    NSArray *array =  [[NSArray alloc]initWithArray:original copyItems:YES];  }
 

就搞定了

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

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,996评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • WebSocket-Swift Starscream的使用 WebSocket 是 HTML5 一种新的协议。它实...
    香橙柚子阅读 24,055评论 8 183
  • “构图处处有,留心时时在”,构图君昨天又加了个晚班,理了一下构图时主体与陪体的关系,应该怎么搭配才能相得益彰,更加...
    龙飞摄影阅读 1,327评论 6 10
  • 太阳正好,屁股隐隐作痛。这么美的时光,我却躺在家中静养。但凡某样东西丢失之后,就会对之感到亲切。譬如健康。 会吃...
    思我君阅读 316评论 0 0