自定义UICollectionViewController之后如何设置布局方式
2017-03-31 19:02
417 查看
今天使用了自定义UICollectionViewController,发现了布局问题,所以给初学者讲解一下,当我们自定义了UICollectionViewController 就无法设置 UICollectionView的布局样式的问题 ,因为当我们继承了 UICollectionViewController ,它内部的UICollectionViewLayout是只读的无法修改
这个时候你可能会说UICollectionViewController里面不是有个collectionView吗?拿到collectionView 不就可以修改collectionView的布局了吗?这样不行,因为自定义了UICollectionViewController,我们在使用UICollectionViewController 控制器的时候,也就是初始化的时候就需要为UICollectionViewController传入一个布局对象 ,这个时候你再重新布局已经不可以了,所以必须在创建collectionViewColler的时候 传入布局对象,那么如何解决呢?
这个时候就是考验我们对创建对象的理解了 ,我们知道 当我创建一个对象的时候 一般是使用这样的方式:
[[UICollectionViewController alloc] init]
讲到这里 聪明的你 一定知道怎么做了,没错 ,就是在 init方法 上面 做手脚,我们可以在init方法里面设置UICollectionViewController 的布局方式
下面是我的做法:
这个时候你可能会说UICollectionViewController里面不是有个collectionView吗?拿到collectionView 不就可以修改collectionView的布局了吗?这样不行,因为自定义了UICollectionViewController,我们在使用UICollectionViewController 控制器的时候,也就是初始化的时候就需要为UICollectionViewController传入一个布局对象 ,这个时候你再重新布局已经不可以了,所以必须在创建collectionViewColler的时候 传入布局对象,那么如何解决呢?
这个时候就是考验我们对创建对象的理解了 ,我们知道 当我创建一个对象的时候 一般是使用这样的方式:
[[UICollectionViewController alloc] init]
讲到这里 聪明的你 一定知道怎么做了,没错 ,就是在 init方法 上面 做手脚,我们可以在init方法里面设置UICollectionViewController 的布局方式
下面是我的做法:
-(instancetype)init { UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; layout.scrollDirection = UICollectionViewScrollDirectionVertical; layout.minimumLineSpacing = STANDARD_INTERVAL_WIDTH-5; layout.minimumInteritemSpacing = STANDARD_INTERVAL_WIDTH; return [super initWithCollectionViewLayout:layout]; }这样我们在使用自定义的UICollectionViewController 的时候默认就会有自己定义的流水布局的样式了
相关文章推荐
- 自定义UICollectionViewController之后如何设置布局方式
- 自定义View时,如何设置字体的大小和间距,和XML布局达到一样的效果
- IOS瀑布流 通过自定义UICollectionViewController的Layout布局实现
- Ogre1.9 for iOS 如何使用自定义的RootViewController
- 【iOS】UICollectionView自定义Layout之蜂窝布局
- iOS开发 - UICollectionViewLayout 自定义布局
- iOS开发之窥探UICollectionViewController(三) --使用UICollectionView自定义瀑布流
- iOS - UICollectionView 自定义布局之风火轮[译] (原版为swift,我这里的实现改为OC)
- UICollectionView之自定义布局
- 自定义UICollectionView的布局
- 叶孤城:UICollectionView自定义布局教程——Pinterest
- 如何在自定义的ViewController加载Storyboard里面的ViewController
- 如何在webview中设置自定义字体
- UICollectionViewController xcode6.1 自定义Cell
- UICollectionView自定义布局教程
- AlertDialog中使用自定义View,其中的Button如何设置点击事件监听
- AlertDialog中使用自定义View,view中的Button如何设置点击事件监听
- UIActivityViewController的相关用法(三)--自定义分享方式(比第三方分享库轻便)
- UI一揽子计划 21 (UICollectionView、SDWebImage第三方类库加载图片的使用、集合视图的布局UICollectionViewFlowLayout 、自定义Cell、布局协议
- UICollectionView自定义布局之风火轮[译]