您的位置:首页 > 产品设计 > UI/UE

自定义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 的布局方式
下面是我的做法:
-(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 的时候默认就会有自己定义的流水布局的样式了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息