IOS 九宫格算法

@interface ViewController ()

@property (nonatomic,strong) NSArray *apps; //获取.plist数据
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
  
    
    //九宫格的总列数
    int totalColumns=5;
    
    //1.1个格子的尺寸
    CGFloat appW=50;
    CGFloat appH=60;
    
    //2.计算间隙 =(控制器view的宽度 -5*应用宽度)/应用宽度+1
    CGFloat margin=(self.view.frame.size.width-totalColumns*appW)/(totalColumns+1);
    
    //3.要的应用个数创建对应的格子
    
    for (int index=0; index<self.apps.count; index++)
    {
        //3.1 创建1个格子
        UIView *appView=[[UIView alloc]init];
        
        //设置背景色
        appView.backgroundColor=[UIColor redColor];
        
        //3.2计算行号和列号
        int row =index /totalColumns;
        int col =index % totalColumns;
        
        CGFloat appX =margin+ col*(appW + margin);
        CGFloat appY =margin+ row*(appH + margin); 

appView.frame=CGRectMake(appX, appY, appW, appH);

//3.3添加格子到控制器的View
[self.view addSubview:appView];
}
}

 

转载于:https://www.cnblogs.com/liuwj/p/6413034.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值