iOS基础开发-九宫格显示数据页面

本文介绍了一种九宫格布局算法,通过设定最大列数和商品尺寸,计算出每个商品在界面上的位置坐标,实现自动换行显示效果。文中详细解释了如何计算商品的X值和Y值,并给出了具体的代码实现。

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

        九宫格显示就是在界面中显示一些数据和画面,当达到某个个数就会自动换行,在新的一行中显示.例如,购物车中,你添加一个商品在界面中就显示一个,假设它只有3列,当第一行加满三个之后自动换行显示.计算这个九宫格,第一步要写的是你的最大列数,随后就是设置你要显示物品的尺寸.从而计算出商品的X值和Y值.代码显示如下:
   设置列数
 
   int maxcols = 3;
    设置商品大小
    CGFloat shopH = 90;
    CGFloat shopW = 70;


    计算索引值
    NSInteger index = self.shopsView.subviews.count;
    计算列数 (每一列索引取模最大列数就是有多少列)处在同一列的X一样

   
 CGFloat col = index % maxcols;
    列距
    CGFloat Xspace = (self.shopsView.frame.size.width - maxcols *shopW) / (maxcols - 1);
    计算X
    CGFloat shopX = (shopW + Xspace) *col;
    


    设置行距
    CGFloat Yspace = 20;
    求行数 (每一行索引除以最大列数就是有多少行) 处在同一行的Y一样
    CGFloat row = index / maxcols;
    求Y
   
CGFloat shopY = (shopH + Yspace) * row;
     添加控件
    UIImageView *imageview = [UIImageView alloc] init];
    imageview.frame = cgrectmake(shopX,shopY,shopW,shopH);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值