IOS开发之——九宫格设置图片、标题和按钮(28)

一 概述

本文给上节的九宫格布局中的组件设置响应的属性和效果

  • UIImageView设置图片

  • UILabel设置文字

  • UIButton设置点击效果和文字说明

<!--more-->

二 效果图

 

三 代码

3.1 OC模式下(ViewController.m)

#import "ViewController.h"
//九宫格常量
#define kAppViewW 80 //宽
#define kAppViewH 90 //高
#define kColCount 3 //列
#define kStartY 20
​
@interface ViewController ()
@property (nonatomic,strong) NSArray *appList;
​
@end
​
@implementation ViewController
​
- (NSArray *)appList
{
    if (_appList==nil) {
        _appList=[NSArray arrayWithContentsOfFile:[[NSBundle mainBundle]pathForResource:@"app.plist" ofType:nil]];
    }
    return _appList;
}
- (void)viewDidLoad {
    [super viewDidLoad];
    
    //九宫格界面
    CGFloat marginX=(self.view.bounds.size.width-kColCount*kAppViewW)/(kColCount+1);
    CGFloat marginY=10;
    
    for (int i=0; i<10; i++) {
        //行
        // 0,1,2 ->0
        //3,4,5->1
        int row=i/kColCount;
        //列
        //0,3,6->0
        //1,4,7->1
        //2,5,8->2
        int col=i%kColCount;
        CGFloat x=marginX+col*(marginX+kAppViewW);
        CGFloat y=kStartY+ marginY+row*(marginY+kAppViewH);
        
        UIView *appView=[[UIView alloc]initWithFrame:CGRectMake(x, y, kAppViewW, kAppViewH)];
        //appView.backgroundColor=[UIColor redColor];
        [self.view addSubview:appView];
        NSDictionary *dict=self.appList[i];
        
        //九宫格背景色
        //1->UIImageView
        UIImageView *icon=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, kAppViewW, 50)];
        //icon.backgroundColor=[UIColor greenColor];
        //设置图像
        icon.image=[UIImage imageNamed:dict[@"icon"]];
        //图像填充
        icon.contentMode=UIViewContentModeScaleAspectFit;
        
        [appView addSubview:icon];
        //2->UILabel->应用程序名称
        UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(icon.frame), kAppViewW, 20)];
        //label.backgroundColor=[UIColor blueColor];
        //设置程序名称
        label.text=dict[@"name"];
        //字体
        label.font=[UIFont systemFontOfSize:13.0];
        label.textAlignment=NSTextAlignmentCenter;
        [appView addSubview:label];
        
        //3->UIButton->下载按钮
        UIButton *button=[[UIButton alloc]initWithFrame:CGRectMake(0, CGRectGetMaxY(label.frame), kAppViewW, 20)];
        //button.backgroundColor=[UIColor yellowColor];
        //设置背景图片
        [button setBackgroundImage:[UIImage imageNamed:@"buttongreen"] forState:UIControlStateNormal];
        [button setBackgroundImage:[UIImage imageNamed:@"buttongreen_highlighted"] forState:UIControlStateHighlighted];
        [button setTitle:@"下载" forState:UIControlStateNormal];
        //字体
        button.titleLabel.font=[UIFont systemFontOfSize:12.0];
        
        [appView addSubview:button];   
    }
}
​
@end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值