九宫格计算按钮frame的代码

//总列数
    int totalColumns = 3;
    
    //应用的尺寸
    CGFloat appW = 85;
    CGFloat appH = 90;
    
    //间隙 = (屏幕的宽度 - 3*应用的宽) / 4
    CGFloat marginX = (self.view.frame.size.width - totalColumns*appW) / (totalColumns+1);
    CGFloat marginY = 15;
    
   
    for (int index = 0; index<self.apps.count; index++) {
        //1.创建view
        AppView *appView = [AppView appView];
        
        //让控制器成为appView的代理
        appView.delegate = self;
        
        //2.把appView添加到控制器
        [self.view addSubview:appView];
        
        //3.设置frame
        //计算行号、列号
        int row = index / totalColumns;
        int col = index % totalColumns;
       
        CGFloat appX = marginX + col * (appW + marginX);
        CGFloat appY = 30 + row * (appH + marginY);
        appView.frame = CGRectMake(appX, appY, appW, appH);
        
        //4.设置数据
        //取出模型
        App *app = self.apps[index];
        [appView setApp:app];
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值