iOS - UICollectionView

  UICollectionView可理解为多列的UITableView,也继承自UIScrollView,可以进行滑动,可以设治左右滑动或上下滑动。collectionViewLayout让UICollectionView的布局更灵活实用,且可编辑性更高。

 

UICollectionViewFloeLayout (自定义成为各种布局的关键)

  minimumLineSpacing cell间距 这个是与你设置的滑动方向有关的,如果你设置上下滑动,那么这就是cell上下两个之间的最小间距,如果你设置成左右滑动,那么这就是cell左右之间的最小间距

  minimumInteritemSpacing cell间距 这个与上面那个是相反的,如果你设置为上下滑动,那么这就是cell左右两个之间最小间距,反正亦然

  :这两个属性适合设定的滑动方向相关的,不是特指的行间距和列间距。minimumLineSpacing是指滑动方向上的两个cell之间的距离,minimumInteritemSpacing是指与滑动方向垂直的方向上的两个cell之间的距离。

  itemSize cell的大小。

  estimatedItemSize cell预测的大小。如果 UICollectionView 的 layout 是一个 UICollectionViewFlowLayout,只需要将 layout.itemSize = ... 改成 layout.estimatedItemSize = ...。collectionview 就会根据 cell 里面的 autolayout 约束去确定cell 的大小。(iOS8.0及以后)

  scrollDirection 滑动方向 默认是UICollectionViewScrollDirectionVertical 上下滑动。也可以设置为UICollectionViewScrollDirectionHorizontal左右滑动  

  headerReferenceSize 头部大小

  footerReferenceSize 尾部大小

  sectionInset 距离上下左右的距离

  sectionHeadersPinToVisibleBounds:设置是否当元素超出屏幕之后固定头部视图位置,默认NO(iOS9.0及以后)

  sectionFootersPinToVisibleBounds:设置是否当元素超出屏幕之后固定尾部视图位置,默认NO(iOS9.0及以后)

 

UICollectionView的代理方法

//返回多少个分组
- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
{
    return 1;
}

//每组有多少个cell
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    return 40;
}

//每个位置显示哪个cell
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewCell * cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell" forIndexPath:indexPath];
    cell.backgroundColor = [UIColor yellowColor];
    return cell;
}

//点击cell之后执行的操作
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{

}

//返回YES则可以移动cell的位置 
//这个需要给cell添加手势,然后再在移动中交换cell位置 (下期会有介绍详细使用 及demo)
- (BOOL)collectionView:(UICollectionView *)collectionView canMoveItemAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}

 

转载于:https://www.cnblogs.com/codermaker/p/6734017.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值