iOS9UICollectionView自定义布局modifying attributes returned by UICollectionViewFlowLayout without copying them

UICollectionViewFlowLayout has cached frame mismatch

This is likely occurring because the flow layout subclass MyLineLayout is modifying attributes returned by UICollectionViewFlowLayout without copying them

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect

NSArray *original = [super layoutAttributesForElementsInRect:rect];

NSArray *array = [[NSArray alloc] initWithArray:original copyItems:YES];

对array进行修改就可以了,不要对original修改

这样就不会报这个警告了

时间: 2024-08-24 09:24:05

iOS9UICollectionView自定义布局modifying attributes returned by UICollectionViewFlowLayout without copying them的相关文章

UICollectionView自定义布局教程

转载自:叶孤城 UICollectionView自定义布局Pintere UICollection这个东西是在iOS6被推出来的,所以如果你的app还在支持iOS5还是老实用TableView吧,要么牛逼的就用ScrollView手撸一个出来 它 最牛逼的地方就在于,Custom的Layout可以玩出无限可能.举个简单例子,早年有个非常出名的CoverFlow第三方库iCarousel(大 约在13年的时候我非常频繁的使用过它),效果非常炫,但问题是它是用scrollview撸出来的,虽然里面也

Swift - 使用网格(UICollectionView)的自定义布局实现复杂页面

网格UICollectionView除了使用流布局,还可以使用自定义布局.实现自定义布局需要继承UICollectionViewLayout,同时还要重载下面的三个方法: 1 2 3 4 5 6 7 8 9 10 11 12 // 这个方法返回每个单元格的位置和大小 override func layoutAttributesForItemAtIndexPath(indexPath: NSIndexPath)     -> UICollectionViewLayoutAttributes! {

IOS开发UI篇--UITableView的自定义布局==纯代码布局

UITableView中除了利用系统的UItableViewCell不能完成需求进行布局时,还可以进行自定义布局: 自定义布局分为两类:(1)利用代码进行创建 (2)利用xib进行实现: 下面对利用代码进行创建分析: 应用场景:像微博,等列表数据展示(由于微博的每个单元格的数据大小不一致,所以得计算每个单元格的大小) 分析:前提是获取列表数据,然后建立每个单元格的模型(建立单元格模型应继承UITableViewCell)复写 - (id)initWithStyle:(UITableViewCel

Collection View 自定义布局(custom flow layout)

Collection view自定义布局 一般我们自定义布局都会新建一个类,继承自UICollectionViewFlowLayout,然后重写几个方法: prepareLayout():当准备开始布局时调用这个方法,可以在这里计算一些属性,比如cell的尺寸. layoutAttributesForElementsInRect(rect: CGRect) -> [UICollectionViewLayoutAttributes]?:在这里返回布局属性. 实例(比较简单的例子,实际开发中可以进行

自定义布局1

有时候我们系统提供的流水布局 可能并不适用  比如我们要想实现 瀑布流那样的效果 那么我们必须要自定义布局才行  ! 自定义布局 - 继承UICollectionViewFlowLayout重写prepareLayout方法作用:在这个方法中做一些初始化操作注意:一定要调用[super prepareLayout] 重写layoutAttributesForElementsInRect:方法作用:这个方法的返回值是个数组这个数组中存放的都是UICollectionViewLayoutAttrib

ActionBar 自定义布局定义

Android系统中ActionBar默认的布局不美观且难于控制,通过为ActionBar自定义布局的方式可以灵活控制ActionBar. 效果: 工具/原料 android集成开发环境eclipse.ADT android sdk 3.0及以上 方法/步骤 自定义Activity主题和ActionBar样式 在新建的android工程的res/values/styles.xml添加自定义ActionBar样式的代码和自定义Activity主题的代 码,并在AndroidMainfest.xml

Notification的基本用法以及使用RemoteView实现自定义布局

Notification的作用 Notification是一种全局效果的通知,在系统的通知栏中显示.既然作为通知,其基本作用有: 显示接收到短消息.即时信息等 显示客户端的推送(广告.优惠.新闻等) 显示正在进行的事物(后台运行的程序,如音乐播放进度.下载进度) Notification的基本操作: Notification的基本操作主要有创建.更新和取消三种.一个Notification的必要属性有三项,如果不设置的话在运行时会抛出异常: 小图标,通过setSmallIcon方法设置 标题,通

Android开发学习之路--UI之自定义布局和控件

新的一年已经开始了,今天已经是初二了,两天没有学习了,还是要来继续学习下.一般手机的title都是actionbar,就像iphone一样可以后退,可以编辑.这里自定义布局就来实现下这个功能,首先准备下三张图片,一张用来当作背景,两张分别表示后退和编辑.新建工程UICostomViewsTest,然后自动创建工程后,新建title.xml,编写代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearL

SharePoint 2013 设置自定义布局页

在SharePoint中,我们经常需要自定义登陆页面.错误页面.拒绝访问等:不知道大家如何操作,以前自己经常在原来页面改或者跳转,其实SharePoint为我们提供了PowerShell命令,来修改这些页面为我们自己的布局页. 具体设置,可以通过PowerShell命令的Identity参数来修改,可以修改的参数主要包括None.AccessDenied.Confirmation.Error.Login.RequestAccess.Signout 或WebDeleted. 设置自定义布局页的映射