UICollectionView
一、创建系统内部定义的布局类来创建集合视图
1、创建一个布局对象,采用系统布局类UICollectionViewFlowLayut
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164013159-500572262.png)
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164018425-1399130741.png)
上面的是系统样式的一些属性,也可以通过协议来实现布局,布局类的协议,只需要接受协议 UICollectionViewDelegateFlowLayout,不需要设置代理,协议方法为:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164037503-832901915.png)
2、创建好了布局格式,创建一个集合视图,集合视图的创建,必须指定布局,如果没有布局,显示不了任何东西,创建集合视图:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164055034-1064669682.png)
3、指定协议,集合视图和表视图一样,要想显示,必须接受两个协议,并且实现协议方法
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164105097-80773419.png)
4、集合视图的系统自带的cell里面没有任何控件,如果你想要在cell里面添加数据的话,只能自定义继承与UICollectionViewCell的cell类,自定义cell的代码和表视图类似,如果你自定义了布局样式的话记得要重写layoutSubviews方法,如:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164116941-1523310936.png)
5、集合视图要想显示内容,必须要将cell进行注册,注册过的cell在协议方法的实现中是不需要判断cell是否为空的,如:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164133144-767420283.png)
6、要是想要显示集合视图的头部视图或者尾部视图的话,和表视图不一样,他不能直接指定,也是需要注册,系统自带的头部视图里面也是没有控件的
6.1为布局的属性设置头视图的大小
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164145706-1573603310.png)
6.2创建一个继承与
的类,为头视图或者尾视图自定义视图,与自定义cell类似
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164202878-1606860123.png)
6.3创建好了自定义的增广视图之后,要注册增广视图
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164219191-1579251532.png)
6.4注册好了之后通过实现协议方法来把增广视图加上:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164229738-656922115.png)
7、arc改mrc的时候要做的事
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164300425-220982505.jpg)
8、json类型的文件获取里面数据的方法:
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164315519-311113946.png)
9、根据json文件里面的连接获取图片
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164336909-1532569320.png)
10、要引头文件
![](https://images2015.cnblogs.com/blog/890519/201602/890519-20160219164352284-450677879.png)
注意:要把集合视图添加到视图上面