自定义UICollectionViewController…
来源:互联网 发布:tensorflow训练mnist 编辑:程序博客网 时间:2024/06/05 02:18
我们很多时候使用UICollectionView 可能都是直接创建UICollectionView,通过初始化的时候传入一个布局对象的方式来使用UICollectionView
比如我们之前是这样写得:
UICollectionViewFlowLayout *layout =[[UICollectionViewFlowLayout alloc] init];
UICollectionView *collection = [[UICollectionView alloc]initWithFrame:self.view.bounds collectionViewLayout:layout];
但是有时候这样的方式可能达不到我们的需求,比如我们想利用collectionView创建一个app的新特性的引导界面这个时候上面这种方式就不适用这个时候我们就需要自定义UICollectionViewController
但是这样的话问题就来了,当我们自定义了UICollectionViewController 就无法设置UICollectionView的布局样式了,因为当我们继承了 UICollectionViewController他内部的UICollectionViewLayout是只读的无法修改
这个时候你可能会说 UICollectionViewController 里面不是有个collectionView 吗?拿到collectionView不就可以修改collectionView的布局了吗?当然不行了因为我们现在时自定义了UICollectionViewController
我们在使用UICollectionViewController 控制器的时候,也就是初始化的时候就需要为UICollectionViewController 传入一个布局对象,不相信是吧?! 下面给你演示下:我们在viewDidLoad 里面修改collectionView的布局
这个时候一运行程序 你会发现报如下错误:
看到这里你应该相信我说的了吧,也就是必须在创建collectionViewColler的时候传入布局对象,那么如何解决呢?
这个时候 就是考验我们对创建对象的理解了,我们知道 当我创建一个对象的时候 一般是使用这样的方式:
[[UICollectionViewController alloc]init]
上面的代码做了两件事:
1.在堆区为UICollectionViewController开辟一块内存空间
2.调用对象的init方法 做一些初始化的操作
讲到这里聪明的你一定知道怎么做了, 没错 ,就是在 init方法 上面 做手脚,我们可以在init方法里面设置UICollectionViewController 的布局方式
下面是我的做法:
这样我们一创建 UICollectionViewController 的时候默认就会由流水布局的样式了
另外附上在viewdidload里边注册cell的几种方法,仅供参考使用:
如果采用如下3种方式,为UICollectionViewController(UITableViewController)注册了原形Cell,系统会用注册的cell作为显示用的cell和可重用cell,一旦缓冲区中不存在可重用cell,系统会使用注册的原形Cell新实例化一个Cell供程序使用!
0 0
- 自定义UICollectionViewController…
- 自定义UICollectionViewController只读UICollectionViewLayout
- UICollectionViewController xcode6.1 自定义Cell
- UICollectionViewController
- UICollectionViewController
- 自定义UICollectionViewController之后如何设置布局方式
- 自定义UICollectionViewController之后如何设置布局方式
- IOS瀑布流 通过自定义UICollectionViewController的Layout布局实现
- UICollectionViewController用法
- 关于UICollectionViewController
- UICollectionView \ UICollectionViewController
- UICollectionViewController相关
- iOS开发之窥探UICollectionViewController(三) --使用UICollectionView自定义瀑布流
- iOS开发之窥探UICollectionViewController(四) --一款功能强大的自定义瀑布流
- Storyboard创建使用UICollectionViewController
- UICollectionView--UICollectionViewController
- UIKite/UICollectionViewController/ScrollView
- UICollectionViewController简单操作
- DLL入门浅析(2)——如何使用DLL
- es6新属性
- Xcode 7 App Transport Security has blocked a cleartext HTTP 报错解决办法
- VMWare虚拟机安装Mac OSX无法…
- NDK官方开发指南翻译之 Android.mk
- 自定义UICollectionViewController…
- 关机自动清除电脑临时文件
- 将博客搬至CSDN
- Android--面试中遇到的问题总结(一)
- Java的邮件发送、接收以及删除
- ASCII码表
- ipconfig不是内部或外部命令 怎么办
- 【Python】用generator实现杨辉三角
- Markdown个人笔记