POOPE 发表于 2021-8-6 17:17:21

iOS-UICollectionViewCell 左对齐依次排列

新建一个基与 UICollectionViewFlowLayout 类,在创建UICollectionVIew时,使用新建的Layout,在相关文件中添加对应文件内容;新建一个基与 UICollectionViewFlowLayout 类,在创建UICollectionVIew时,使用新建的Layout,在相关文件中添加对应文件内容;新建一个基与 UICollectionViewFlowLayout 类,在创建UICollectionVIew时,使用新建的Layout,在相关文件中添加对应文件内容;
.h

@property (nonatomic) CGFloat maximumInteritemSpacing;.m

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect {
    NSArray * layoutAttributes_t = ;
    NSArray * layoutAttributes = [initWithArray:layoutAttributes_t copyItems:YES];
    //用来临时存放一行的Cell数组
    NSMutableArray * layoutAttributesTemp = [init];
    for (NSUInteger index = 0; index < layoutAttributes.count ; index++) {
      
      UICollectionViewLayoutAttributes *currentAttr = layoutAttributes; // 当前cell的位置信息
      UICollectionViewLayoutAttributes *previousAttr = index == 0 ? nil : layoutAttributes; // 上一个cell 的位置信
      UICollectionViewLayoutAttributes *nextAttr = index + 1 == layoutAttributes.count ?
      nil : layoutAttributes;//下一个cell 位置信息
      
      //加入临时数组
      ;
      
      
      CGFloat previousY = previousAttr == nil ? 0 : CGRectGetMaxY(previousAttr.frame);
      CGFloat currentY = CGRectGetMaxY(currentAttr.frame);
      CGFloat nextY = nextAttr == nil ? 0 : CGRectGetMaxY(nextAttr.frame);
      //如果当前cell是单独一行
      if (currentY != previousY && currentY != nextY){
            if () {
                ;
               
            }else if (){
                ;
               
            }else{
                ;
            }
      }
      //如果下一个不cell在本行,则开始调整Frame位置
      else if( currentY != nextY) {
            ;
      }
    }
    return layoutAttributes;
}

-(void)setCellFrameWith:(NSMutableArray*)layoutAttributes{
    CGFloat nowWidth = 0.0;
   
    nowWidth = self.sectionInset.left;
    for (UICollectionViewLayoutAttributes * attributes in layoutAttributes) {
      CGRect nowFrame = attributes.frame;
      nowFrame.origin.x = nowWidth;
      attributes.frame = nowFrame;
      nowWidth += nowFrame.size.width + self.maximumInteritemSpacing;
    }
   
    ;
   
}

   
   
   
                        

文档来源:博客园https://www.cnblogs.com/wangkejia/p/15109274.html
页: [1]
查看完整版本: iOS-UICollectionViewCell 左对齐依次排列