IOS学习之collectionView的使用

1、首次创建初始化时候肯定会遇到以下错误:

'UICollectionView must be initialized with a non-nil layout parameter'

解决办法:使用一个非空的layout初始化集合视图,具体代码:

源代码:

WBSearchController *search = [[WBSearchController alloc] init];

修改后代码:

UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
<pre name="code" class="html">WBSearchController *search = [[WBSearchController alloc] initWithCollectionViewLayout:layout];
 

此时问题解决微笑

2、集合视图的布局控制是采用layout来控制的,具体使用的方法:

    layout.itemSize =CGSizeMake(60,100);//每个网格的尺寸

    layout.minimumInteritemSpacing =10;//item左右之间距离

    layout.minimumLineSpacing =10;//item上下距离

    layout.sectionInset =UIEdgeInsetsMake(10,10, 10,10);//上下左右距离

3、修改背景颜色

  首先,使用Log来打印一下view和collectionView

    MyLog(@"%@ \n %@ \n %@", self.view, self.collectionView, self.view.subviews);

得到的结果如下:

<<span style="background-color: rgb(255, 102, 102);">UICollectionViewControllerWrapperView</span>: 0x7b724440; frame = (0 20; 320 548); autoresize = W+H; layer = <CALayer: 0x7b724780>> 

 <<span style="background-color: rgb(255, 102, 102);">UICollectionView</span>: 0x7c858800; frame = (0 0; 320 548); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7b72dc70>; layer = <CALayer: 0x7b727000>; contentOffset: {0, 0}; contentSize: {0, 0}> collection view layout: <UICollectionViewFlowLayout: 0x7ba90660> 

 (
    "<<span style="background-color: rgb(255, 153, 102);">UICollectionView</span>: 0x7c858800; frame = (0 0; 320 548); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x7b72dc70>; layer = <CALayer: 0x7b727000>; contentOffset: {0, 0}; contentSize: {0, 0}> collection view layout: <UICollectionViewFlowLayout: 0x7ba90660>"
)

可以看出:
self.collectionView是<span style="font-family: Arial, Helvetica, sans-serif;">self.view的</span><span style="font-family: Arial, Helvetica, sans-serif;">subview,所以设置背景颜色,应该使用以下的代码:</span><pre name="code" class="html"><pre name="code" class="html"><p class="p1"><span class="s1">self</span><span class="s2">.</span><span class="s3">collectionView</span><span class="s2">.</span><span class="s3">backgroundColor</span><span class="s2"> = [</span><span class="s3">UIColor</span><span class="s2"> </span><span class="s4">redColor</span><span class="s2">];</span></p>

 
 

4、当cell不能布满整个屏幕,但仍想有上拉下拉效果,需要设置scollView里面的属性:

 self.collectionView.alwaysBounceVertical = YES;

既可以实现上下拖动效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值