• UICollectionView


    自定义布局:

    @interface XMGLayout()
    
    @property (nonatomic,strong) NSMutableArray * arrAttributs;
    
    @end
    
    //边距
    static UIEdgeInsets inset={10.0,10.0,10.0,10.0};
    
    @implementation XMGLayout
    
    -(void)prepareLayout
    {
        [super prepareLayout];
        
        self.arrAttributs=[NSMutableArray array];
        //
        NSInteger numberOfItem=[self.collectionView numberOfItemsInSection:0];
        for (NSInteger i=0; i<numberOfItem; i++) {
            NSIndexPath * indexpath=[NSIndexPath indexPathForRow:i inSection:0];
            UICollectionViewLayoutAttributes * attribute=[self layoutAttributesForItemAtIndexPath:indexpath];
            [self.arrAttributs addObject:attribute];
        }
        
    }
    
    -(UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath
    {
        //创建cell属性
        UICollectionViewLayoutAttributes * attribute=[UICollectionViewLayoutAttributes layoutAttributesForCellWithIndexPath:indexPath];
        if (indexPath.row<=2) {
            attribute.frame=CGRectMake(inset.left, inset.top, 50, 50);
        }
        return attribute;
    }
    
    -(NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect
    {
        //返回cell属性的集合
        return self.arrAttributs;
    }
    -(CGSize)collectionViewContentSize
    {
        return CGSizeMake(0, 600);
    }

     //初始化(系统流式布局)

    UICollectionViewFlowLayout * layout=[[UICollectionViewFlowLayout alloc]init];
    UICollectionView *  collectionView= [[UICollectionView alloc] initWithFrame:CGRectMake(0, 0, 200, 100) collectionViewLayout:layout];
    collectionView.center = self.view.center;
    [self.view addSubview:collectionView];
    collectionView.backgroundColor = [UIColor colorWithRed:76/255.0 green:76/255.0 blue:76/255.0 alpha:0.8];
    collectionView.dataSource = self;
    collectionView.delegate = self;
    [collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"cell"];

    //常用代理方法

    //定义每个UICollectionViewcell 的大小
    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
    {
    }
    //定义UICollectionView 的 margin
    -(UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
    {
    }
    
    //UICollectionViewcell被选中时调用的方法
    -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
    {
    }
    //定义cell
    - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
    {
    }
    //
    -(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
    {
    }
    //
    - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    {
    }
  • 相关阅读:
    E
    D
    C
    B
    Python
    IDEA 设置资源目录
    光猫指示灯含义
    IO模型
    Linux 总目录
    Linux python 使用
  • 原文地址:https://www.cnblogs.com/jingdizhiwa/p/5383611.html
Copyright © 2020-2023  润新知