自定义UICollectionViewController之后如何设置布局方式

今天使用了自定义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 的时候默认就会有自己定义的流水布局的样式了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hbblzjy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值