6.UICollectionViewController和UITableViewController之间的异同
来源:互联网 发布:java 打飞船的游戏 编辑:程序博客网 时间:2024/06/08 19:04
最近在项目中会用到UICollectionViewController,所以将它与常用的UITableViewController做一个对比:
两者在使用上大致相同,在初始化之后,都会设置相应的数据源和代理,通过重写相应的数据源和代理方法来进行具体操作,现在着重说一下它们的一些小不同:
1.初始化
UITableViewController在初始化后,只要实现它的数据源和代理方法,就可以直接展现出来。而UICollectionViewController推荐使用的是initWithCollectionViewLayout:方法,该中会传入一个layout,只有有了这个layout才能显示出来。或者重写init方法,在init方法中设置它的布局方式,也就是layout.
这个layout可以使用继承自UICollectionViewLayout的两个子类 :UICollectionViewFlowLayout 和 UICollectionViewTransitionLayout。
这里贴一下常用的流水布局的代码:
//1.创建layout // 1.1创建流水布局 UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; // 1.2设置每个格子的尺寸 layout.itemSize = CGSizeMake(thumbnailWidth, thumbnailWidth); // 1.3设置整个collectionView的内边距 CGFloat paddingY = 20; layout.minimumInteritemSpacing = minimumItemspace; layout.sectionInset = UIEdgeInsetsMake(0, minimumLinespace, paddingY, minimumLinespace); // 1.4设置每一行之间的间距 layout.minimumLineSpacing = minimumLinespace;
2.重用
两个里面的cell都可以进行重用,但是UICollectionViewCell在初始化时不会传入identifier ,这会导致cell没有identifier可以用于在缓存池中寻找,所以我们需要在ViewDidload方法中注册一个cell,这时它会传入一个identifier,当缓存池中找不到cell时,系统会用注册的cell自动创建一个供使用。如果要注册自己写得类,而该类的视图是从xib文件中生成的,必须注册nib文件。方法如下:
[self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:reuseIdentifier];
<pre name="code" class="objc"> UINib *nib = [UINib nibWithNibName:@"CYLProductItem" bundle:nil]; [self.collectionView registerNib:nib forCellWithReuseIdentifier:reuseIdentifier];
3.index
在UITableViewController中,index取出相应组合组中行的两个属性是section和row,而在UICollectionViewController中,index对应的是section和item.
- 6.UICollectionViewController和UITableViewController之间的异同
- Java 和 C# 之间的异同点
- Windows 2003和XP之间的异同
- sessionStorage localStorage 和 cookie 之间的异同
- NetScrollView 和ScrollView之间的异同点
- 并行和并发之间的异同
- 关于UICollectionViewController的header和foot视图
- UITableViewController和UIViewController的区别
- Application,Session,Cookie,Cache和ViewState之间的异同点
- Perl、PHP、Python、Java和Rub之间的异同比较
- 硬件处理和软件处理之间的异同与边界
- iOS UICollectionViewController基本使用方法和简单的相册实现
- UICollectionViewController的使用详解
- UICollectionViewController的使用
- UICollectionViewController
- UICollectionViewController
- &和&&的异同
- 40.UITableViewController和刷新
- centos下安装gitlab
- bitmap转化为file
- shell中if条件字符串、数字比对,[[ ]]和[ ]区别
- 卡塔兰数应用----所有括号的组合
- hdu 2546 饭卡 <01背包+贪心>
- 6.UICollectionViewController和UITableViewController之间的异同
- URAL 1009K-based Numbers dp练习
- java与python在处理大文件操作上的对比
- C++内联函数总结
- SQL入门经典3-8章节笔记
- 【图论】[CQBZOJ1362] 苗条的生成树
- 【图论】[ZOJ1002]Fire Net
- Ajax提高篇(7)Ajax实现简单的下拉框联动显示数据
- HTML 5 <input> placeholder 属性