代码实现9宫格布局2

- (void)viewDidLoad

{

    [super viewDidLoad];

    //添加应用信息

    //间隙=(控制器的宽度的宽度-3*应用的宽度)

    //应用的尺寸

    CGFloat viewW = 85;

    CGFloat viewH = 90;

    

    int columns = 3;//总列数

    

    CGFloat marginX =(self.view.frame.size.width-columns*viewW)/(columns+1);

    CGFloat marginY =20;

    for(int index=0;index<self.array.count;index++){

        NSDictionary * dic = _array[index];

        

       

        UIView * view = [[UIView alloc]init];//创建一个view

        //间隙的位置

        

        int row = index/columns;//行号

        int col = index%columns;//列号

        

        CGFloat viewX = marginX+col*(viewW+marginX);//间隙

        CGFloat viewY = 30+row*(viewH+marginY);

        //view的位置

        view.frame = CGRectMake(viewX, viewY, viewW, viewH);

        //view.backgroundColor = [UIColor redColor];

        

        //添加内部的小控件

        

        //添加到控件的view

        //1.添加图片

        UIImageView * iconView = [[UIImageView alloc]init];

        CGFloat iconW= viewW;

        CGFloat iconH= 45;

        CGFloat iconX = 0;

        CGFloat iconY = 0;

        iconView.frame = CGRectMake(iconX, iconY, iconW, iconH);

        iconView.image = [UIImage imageNamed:dic[@"icon"]];

        //iconView.backgroundColor = [UIColor blackColor];

        [view addSubview:iconView];

        //2.添加label

        UILabel * nameLabel = [[UILabel alloc]init];

        CGFloat labelW= viewW;

        CGFloat labelH= 20;

        CGFloat labelX = 0;

        CGFloat labelY = iconY+iconH;

        nameLabel.frame = CGRectMake(labelX, labelY, labelW, labelH);

        nameLabel.text = dic[@"name"];

        nameLabel.font = [UIFont systemFontOfSize:14];

        nameLabel.textAlignment = NSTextAlignmentCenter;

        //nameLabel.backgroundColor = [UIColor blueColor];

        [view addSubview:nameLabel];

        //3.添加button

        UIButton * btn = [[UIButton alloc]init];

        CGFloat btnX = 10;

        CGFloat btnW= viewW-btnX*2;

        CGFloat btnH= 20;

        CGFloat btnY = labelY+labelH;

        btn.frame = CGRectMake(btnX, btnY, btnW, btnH);

        [btn setBackgroundImage:[UIImage imageNamed:@"buttongreen"] forState:UIControlStateNormal];

        [btn setBackgroundImage:[UIImage imageNamed:@"buttongreen_highlighted"] forState:UIControlStateHighlighted];

        [btn setTitle:@"下载" forState:UIControlStateNormal];

        btn.titleLabel.font = [UIFont systemFontOfSize:13];

        //btn.backgroundColor = [UIColor yellowColor];

        [view addSubview:btn];

        [self.view addSubview:view];

    }


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值