iOS 对网格cell左侧对齐布局

本文介绍如何在iOS应用中实现网格cell的左侧对齐布局,通过自定义UICollectionViewFlowLayout,轻松调整布局样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一些简单的对layout的布局

- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect {
	// 获取所有的item布局
    NSMutableArray * attributes = [[super layoutAttributesForElementsInRect:rect] mutableCopy];
    // 设置的最大间距,根据需要修改
    CGFloat maximumSpacing = 5.0;
    
    if (attributes.count > 0) {
        UICollectionViewLayoutAttributes *firstAttributes = attributes[0];
        CGRect frame = firstAttributes.frame;
        frame.origin.x = maximumSpacing;
        firstAttributes.frame = frame;
    }
    // 从第二个循环到最后一个
    for (NSInteger i = 1 ; i < attributes.count ; i++ ) {
        // 当前的attribute
        UICollectionViewLayoutAttributes * currentLayoutAttributes = attributes[i];
        // 上一个attribute
        UICollectionViewLayoutAttributes * prevLayoutAttributes = attributes[i - 1];
        // 前一个cell的最右边
        CGFloat origin = CGRectGetMaxX(prevLayoutAttributes.frame);
        // 如果当前一个cell的最右边加上我们的想要的间距加上当前cell的宽度依然在contentSize中,我们改变当前cell的原点位置
        // 不加这个判断的后果是,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值