猫猫学IOS(五)UI之360等下载管理器九宫格UI

猫猫分享,必须精品

素材下载地址:http://blog.csdn.net/u013357243/article/details/44486651

先看效果

主要是完成了九宫格UI的搭建

代码

- (void)viewDidLoad {
    [super viewDidLoad];
//九宫格中每个格子的宽
#define kAppViewW 80
//九宫格中每个格子的高
#define kAppViewH 90
////九宫格中有多少个格子
#define kColCount 3
//九宫格中第一行距离屏幕最上边距离
#define kStartY 20

    /*
     思路:将三个控件放到一个view中
     没有通过双层for循环换行,而是通过第几个然后判断他的行和列 来定位他的xy坐标完成
     012 在第一行:相当于i/kColCount
     //行 一行:012 二行:345 三行:678
     int row = i/kColCount;
     //列 一列:036  二列:147
     int col = i%kColCount;

     */
    //每行的间隔
    CGFloat marginX = (self.view.frame.size.width - kColCount*kAppViewW)/(kColCount+1);
    //每列的间隔
    CGFloat marginY = 10;

    for (int i=0; i<12; i++) {

        //行 一行:012 二行:345 三行:678
        int row = i/kColCount;
        //列 一列:036  二列:147
        int col = i%kColCount;

        CGFloat x = marginX + col*(marginX+kAppViewW);//每个view的X坐标
        CGFloat y = kStartY + +marginY + row * (marginY + kAppViewH);//每个view的Y坐标

        UIView *appView = [[UIView alloc] initWithFrame:CGRectMake(x, y ,kAppViewW, kAppViewH)];
        [self.view addSubview:appView];

        //实现视图内部细节
        NSDictionary *dict = self.appList[i];//得到appList中的每一个字典元素(图像 标题  按钮图像)

        //UIImageView:应用程序图片
        UIImageView *icon  = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, kAppViewW, 50)];
//        icon .backgroundColor = [UIColor redColor];
        icon.image = [UIImage imageNamed:dict[@"icon"]];//设置图片
        //设置图片填充模式
        icon.contentMode = UIViewContentModeScaleAspectFit;//fill的会更大

        [appView addSubview:icon];

        //UILabel:应用程序名称
        UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(icon.frame), kAppViewW, 20)];
        label.text = dict[@"name"];
        label.font = [UIFont systemFontOfSize:13.0];
        label.textAlignment = NSTextAlignmentCenter;

        [appView addSubview:label];

        //UIButton:应用程序下载按钮
        UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(label.frame), kAppViewW, 20)];
        [button setBackgroundImage:[UIImage imageNamed:@"buttongreen"] forState:UIControlStateNormal];
        [button setBackgroundImage:[UIImage imageNamed:@"buttongreen_highlighted"] forState:UIControlStateHighlighted];

        [button setTitle:@"下载" forState:UIControlStateNormal];
        // *** 一定不要使用以下方法,修改按钮标题
        //        button.titleLabel.text = @"aaa";

        // 修改字体(titleLabel是只读的)
        // readonly表示不允许修改titleLabel的指针,但是可以修改label的字体
        // 提示:按钮的字体是不区分状态的!
        button.titleLabel.font = [UIFont systemFontOfSize:12.0];
        [appView addSubview:button];
    }
}

思路

思路:将三个控件放到一个view中

没有通过双层for循环换行,而是通过第几个然后判断他的行和列 来定位他的xy坐标完成

012 在第一行:相当于i/kColCount

//行 一行:012 二行:345 三行:678

int row = i/kColCount;

//列 一列:036 二列:147

int col = i%kColCount;

算法分析图

注意点

设置图片与设置图片铺垫样子的时候有点不同,如果最后设置成UIViewContentModeScaleAspectFit的话会超出定义的边框,按照原来像素大小来布置。

icon.image = [UIImage imageNamed:dict[@”icon”]];

icon.contentMode = UIViewContentModeScaleAspectFit;

UILabel;UIButton的字体设置

        //设置标题
        label.text = dict[@"name"];
        //设置字体大小
        label.font = [UIFont systemFontOfSize:13.0];
        //设置Label居中
        label.textAlignment = NSTextAlignmentCenter;

button字体设置

[button setTitle:@"下载" forState:UIControlStateNormal];
        // *** 一定不要使用以下方法,修改按钮标题
        //        button.titleLabel.text = @"aaa";

        // 修改字体(titleLabel是只读的)
        // readonly表示不允许修改titleLabel的指针,但是可以修改label的字体
        // 提示:按钮的字体是不区分状态的!
        button.titleLabel.font = [UIFont systemFontOfSize:12.0];

未完待续。。。。

ps1:有想要源码的可以加猫猫微信znycat QQ也可以:1764541256

——视频学习资料素材免费分析,哎自己一个人学习寂寞啊!喵!!!

ps2:昨晚用同学电脑看自己写的咋样,发现csdn竟然进不去,喵了个咪的猫猫就醉了,更醉的是发现竟然在别的网站有转载的,瞬间鸡冻了喵。

时间: 2024-08-01 23:21:52

猫猫学IOS(五)UI之360等下载管理器九宫格UI的相关文章

(素材_源码) 猫猫学IOS(五)UI之360等下载管理器九宫格UI

猫猫分享,必须精品 先看效果 代码学习地址: 猫猫学IOS(五)UI之360等下载管理器九宫格UI 猫猫学IOS(五)UI之360等下载管理器九宫格UI http://blog.csdn.net/u013357243/article/details/44486609 下载地址:http://download.csdn.net/detail/u013357243/8516817 ps1:有想要源码的可以加猫猫微信znycat QQ也可以:1764541256 --视频学习资料素材免费分析,哎自己一

猫猫学IOS(四)UI之半小时搞定Tom猫

话不多说 先上效果 项目源码素材下载地址: Tom猫游戏代码iOS 素材http://blog.csdn.net/u013357243/article/details/44457357 效果图 曾经风靡一时的tom猫其实制作起来那是叫一个相当的easy啊 功能全部实现,(关键是素材,没有素材的可以加我微信) 新手也可以很快的完成tom这个很拉轰的ios应用哦 做过android的我表示,android党默哀下把,那个做起来真心痛苦.... 然后呢你需要准备这些素材... 拖拽控件吧,因为这一个项

猫猫学IOS(十三)UI之UITableView学习(下)汽车名牌带右侧索引

猫猫分享,必须精品 素材代码地址:http://blog.csdn.net/u013357243/article/details/44727225 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 代码 ViewController //ps:新建iOS交流学习群:304570962 可以加猫猫QQ:1764541256 或则微信znycat 让我们一起努力学习吧. 原文:http://blog.csdn.net/u0133

猫猫学IOS(二十八)UI之Quartz2D简单介绍

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents iOS开发UI篇-Quartz2D简单介绍 什么是Quartz2D Quartz 2D是?个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片 自定义UI控件 Quartz2D在iOS开发中的

猫猫学iOS 之微博项目实战(2)微博主框架-自己定义导航控制器NavigationController

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 一:加入导航控制器 上一篇博客完毕了对底部的TabBar的设置,这一章我们完毕自己定义导航控制器(NYNavigationController). 为啥要做自己定义呢.由于为了更好地封装代码,而且系统的UINavigationController不能满足我们的需求了,所以得自己定义. 首先,我们在NYTabBarViewCon

猫猫学iOS 之微博项目实战(2)微博主框架-自定义导航控制器NavigationController

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 一:添加导航控制器 上一篇博客完成了对底部的TabBar的设置,这一章我们完成自定义导航控制器(NYNavigationController). 为啥要做自定义呢,因为为了更好地封装代码,并且系统的UINavigationController不能满足我们的需求了,所以得自定义. 首先,我们在NYTabBarViewContro

猫猫学iOS之最近的反思

其实很早以前就想写点了,虽然猫猫现在还是学生,但是就自学方面,猫猫觉得自己水平还可以--注意,我不是大神,我只是一名小小的菜猫... 首先简单说一下自己吧,本人猫猫,真名看博客名字,目前大四,自学编程两年半多了,学习路线: 易语言 –> 啊哈 –> java –> javaWeb(jstl,html,js,css-..) –> android –> c –> objective-c –> iOS.作为一名体育生表示不务正业的学了这么多程序猿的东东...不多说了 言

猫猫学iOS(四十八)多线程网络之多线程简单了解

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 一:进程和线程 1:什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内. 比如同时打开QQ.Xcode,系统就会分别启动2个进程. 通过"活动监视器"可以查看Mac系统中所开启的进程. 2:什么是线程 1个进程要想执行任务,必须得有线程(每1个进程至少

(素材源码)猫猫学IOS(十五)UI之曾经大热的打砖块小游戏

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8555567 原文地址:http://blog.csdn.net/u013357243?viewmode=contents !素材代码里面有我写的全部代码,注释齐全,方便学习 先看效果图 ps:新建iOS交流学习群:304570962 可以加猫猫QQ:1764541256 或则微信znycat 让我们一起努力学习吧. 原文:http://blog.csdn.net/u0133