zoukankan      html  css  js  c++  java
  • 如何自定义CollectionView中每个元素的大小和间距

    问题: 让每个元素大小变为104 x 104

    Step 1:

    在你的视图控制器头文件中实现UICollectionViewFlowLayout协议

    eg:

    @interface XXViewController : UICollectionViewController<UICollectionViewFlowLayout>
    
    ...
    
    @end

    Step 2:

    设置每个单元格的大小

    eg:

    - (CGSize) collectionView:(UICollectionView *)collectionView
      layout:(UICollectionViewLayout *)collectionViewLayout
      sizeForItemAtIndexPath:(NSIndexPath *)indexPath
    {
      return CGSizeMake(104.0f, 104.0f);
    }

    Step 3:

    设置单元格间的横向间距

    eg:

    - (CGFloat) collectionView:(UICollectionView *)collectionView
        layout:(UICollectionViewLayout *)collectionViewLayout
        minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
    {
        return 2.0f;
    }

    Step 4:

    设置纵向的行间距

    eg:

    - (CGFloat) collectionView:(UICollectionView *)collectionView
        layout:(UICollectionViewLayout *)collectionViewLayout
        minimumLineSpacingForSectionAtIndex:(NSInteger)section
    {
        return 2.0f;
    }

    step 5:

    通过调整inset使单元格顶部和底部都有间距(inset次序: 上,左,下,右边)

    eg:

    - (UIEdgeInsets) collectionView:(UICollectionView *)collectionView
        layout:(UICollectionViewLayout *)collectionViewLayout
        insetForSectionAtIndex:(NSInteger)section
    {
        return UIEdgeInsetsMake(2.0f, 0.0f, 2.0f, 0.0f);
    }
  • 相关阅读:
    windows下mysql数据库导入导出
    比较两个数组,根据id删除相同的对象
    angular子组件给父组件传值
    angular父组件给子组件传值
    angular获取dom节点
    angular创建服务
    forEach和for包含异步调用的区别
    用某种符号或字符替换某些字符
    嵌套函数和闭包
    JavaScript 递归
  • 原文地址:https://www.cnblogs.com/davidgu/p/4975042.html
Copyright © 2011-2022 走看看