UICollectionView的一点笔记

因为只是个个人的学习纪录,所以地位的不同,会侧重不一,有啥意见的话,欢迎提出。文章不是完全体,所以大家看看就好。。。

花了点时间把WWDC相关的一点东西听完了,老实说效果并不是很好,听力本来就不好,还赶上了三哥。。。

在视频上主要由205和219这两讲,会逐渐的补全

##change set##

##1.205 未说明flow layout

大概的东西先记下来,其他的东西会在复听中慢慢补全,哎,学英语啊

首先是CollectionView的基本组成部分,一共由三部分组成:

1.Collection View 

  Cells

  Supplementary View

  Decoration View

Collection View在一定方面类似Table View(所以这里我倾向于在一定程度上类比table View来理解)

同样由UIScrollView继承而来,同样的也包含了delegate,dataSource

怎么样?有点熟悉的感觉吧,呵呵

其实在某些方面使用table View类比,学习UICollectionViewCell确实是非常好的方式(也省去一些重复讲解的麻烦)。

但是请注意,完全的照搬你会失望的。这就引出了下面我要讲的Layout这个东西。

2.UICollectionViewLayout

这是一个抽象类,我们可以通过实现子类完成一些以前需要实现复杂的展现方式(最后会有展示图片)。而且,这只会花费很小的代价,一个coverflow的效果,只是需要四个方法,大概50行代码。

切分出layout有什么意义,这个我的感觉就像是一个模板模式+策略的合体,保证了灵活的展示方式,可以在多种展现方式中快速切换。

那么layout如何指导collection view实现丰富的输出,实现了哪几种输出呢?

layout通过UICollectionViewLayoutAttribute,为collection view提供cell展现的特性:

  position

  size

  opacity

  zIndex

  tranform(3D)

待续。。。(后继会讲解layout中相关的模板方法,以及调用的顺序和具体的作用)

呵呵,刚才想起来,坑爹的attribute怎么没讲呢,其实想放在下面和具体的layout来配套的,不过现在先补上吧:)

前述的所谓cell展现特性,其实就是attribute这货完成的,collection view如何完成布局排列,对于cell的处理,都要依靠自己当前的lay out当参谋,而这其中indexpath起到了纽带的作用,帮助layout完成设置对应indexpath的attribute属性。

 

posted @ 2012-07-03 16:03  Jun Wang  阅读(914)  评论(0编辑  收藏  举报