Summary
UITableView
和 UICollectionView
在显示其子视图集的过程中仅扮演容器角色,且对子视图集真正的内容毫不知情。UICollectionView 在此之上进行了进一步抽象,它将其子视图的位置,大小和外观的控制权委托给一个单独的布局对象。
布局继承自UICollectionViewLayout
抽象基类。iOS6 中以UICollectionViewFlowLayout
类的形式提出了一个具体的布局实现。
- ( instancetype) initWithFrame: ( CGRect) frame collectionViewLayout: ( UICollectionViewLayout * ) layout NS_DESIGNATED_INITIALIZER;
@property ( nonatomic, strong) UICollectionViewLayout * collectionViewLayout;
@property ( nullable, nonatomic, readonly) UICollectionView * collectionView;
UICollectionViewLayout
Properties
UICollectionViewScrollDirection
UICollectionViewScrollDirectionVertical
UICollectionViewScrollDirectionHorizontal
Related Methods : collectionViewContentSize
if your computed content size expands past the bounds of the current device’s screen both vertically and horizontally, the scroll view adjusts to allow scrolling in both directions simultaneously. // 根据collectionViewContentSize方法获取的content size来设置默认的direction.
UICollectionElementCategory
UICollectionElementCategoryCell
UICollectionElementCategorySupplementaryView
UICollectionElementCategoryDecorationView
Related Properties : representedElementCategory、representedElementKind(in UICollectionViewLayoutAttributes class)
UICollectionUpdateAction
UICollectionUpdateActionInsert
UICollectionUpdateActionDelete
UICollectionUpdateActionReload
UICollectionUpdateActionMove
UICollectionUpdateActionNone
Related Property : UICollectionViewUpdateItem
UICollectionViewUpdateItem
NSIndexPath * indexPathBeforeUpdate;
NSIndexPath * indexPathAfterUpdate;
UICollectionUpdateAction updateAction;