猫分享。必须精品

下载材料: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居然进不去。喵了个咪的猫猫就醉了。更醉的是发现居然在别的站点有转载的,瞬间鸡冻了喵。

版权声明:本文博主原创文章,博客,未经同意不得转载。

猫学习IOS(五岁以下儿童)UI之360其他下载管理器广场UI的更多相关文章

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

    猫猫分享,必须精品 先看效果 代码学习地址: 猫猫学IOS(五)UI之360等下载管理器九宫格UI 猫猫学IOS(五)UI之360等下载管理器九宫格UI http://blog.csdn.net/u0 ...

  2. AJ学IOS(05)UI之360等下载管理器九宫格UI

    AJ分享,必须精品 先看效果 主要是完成了九宫格UI的搭建 代码 - (void)viewDidLoad { [super viewDidLoad]; //九宫格中每个格子的宽 #define kAp ...

  3. python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹

    python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...

  4. (五岁以下儿童)NS3样本演示:桥模块演示样品csma-bridge.cc凝视程序

    (五岁以下儿童)NS3:桥模块演示样品csma-bridge.cc凝视程序 1.Ns3 bridge模csma-bridge.cc演示示例程序的目光 // Network topology // // ...

  5. linux下一个Oracle11g RAC建立(五岁以下儿童)

    linux下一个Oracle11g RAC建立(五岁以下儿童) 四.建立主机之间的信任关系(node1.node2) 建立节点之间oracle .grid 用户之间的信任(通过ssh 建立公钥和私钥) ...

  6. PE文件结构(五岁以下儿童)基地搬迁

    PE文件结构(五岁以下儿童) 參考 书:<加密与解密> 视频:小甲鱼 解密系列 视频 基址重定位 链接器生成一个PE文件时,它会如果程序被装入时使用的默认ImageBase基地址(VC默认 ...

  7. 猫学习IOS(十五)UI以前的热的打砖块游戏

    猫分享.必须精品 材料代号地址:http://blog.csdn.net/u013357243/article/details/44814523 原文地址:viewmode=contents" ...

  8. 猫学习IOS(四)UI半小时就搞定Tom猫

    阿土 首先对影响 下载项目的源材料: Tom猫游戏代码iOS 素材http://blog.csdn.net/u013357243/article/details/44457357 效果图 以前风靡一时 ...

  9. 猫学习IOS(三)UI纯代码UI——图片浏览器

    猫分享.必须精品 看看效果 主要实现相似看新闻的一个界面,不用拖拽,纯代码手工写. 首先分析app能够非常easy知道他这里有两个UILabel一个UIImageView还有两个UIButton 定义 ...

随机推荐

  1. Redis最有用的中文资源,你值得拥有

    只是为了记录资源地址,最好直接访问doc.redisfans.com更美观 Redis 命令参考 本文档是 Redis Command Reference 和 Redis Documentation ...

  2. A Game of Thrones(17) - Bran

    It seemed as though he had been falling for years. Fly, a voice whispered in the darkness, but Bran ...

  3. python+ueditor+七牛云存储整合

    开发环境:python pyramid. 參考网址:http://developer.qiniu.com/docs/v6/sdk/python-sdk.html,http://my.oschina.n ...

  4. WPF案例 (三) 模拟QQ“快速换装"界面

    原文:WPF案例 (三) 模拟QQ"快速换装"界面 这个小程序使用Wpf模拟QQ快速换装页面的动画特效,通过使用组合快捷键Ctrl+Left或Ctrl+Right,可实现Image ...

  5. C++:抽象基类和纯虚函数的理解

    转载地址:http://blog.csdn.net/acs713/article/details/7352440 抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层. ...

  6. Flex读取txt文件里的内容(二)

    Flex读取txt文件里的内容 自己主动生成的文件 LoadTxt-app.xml: <?xml version="1.0" encoding="utf-8&quo ...

  7. UC高级编程--实现myls程序

    跟着达内视频,学习UC高级编程,完毕程序小练习. 主要练习的函数为:  int lstat(const char *path, struct stat *buf);  size_t strftime( ...

  8. 以todomvc为例分析knockout、backbone和angularjs

    一.整体结构 项目github地址https://github.com/tastejs/todomvc/ 排除通用的css样式文件和引用的js库文件,仅看html和js 1.1 knockoutjs版 ...

  9. Html A标签中 href 和 onclick用法、区别、优先级别

    原文:Html A标签中 href 和 onclick用法.区别.优先级别 如果不设置 href属性在IE6下面会不响应hover.双击后会选中标签的父容器而非这个一a标签(IE下都存在这一问题). ...

  10. pcie inbound、outbound及EP、RC间的互相訪问

    Inbound:PCI域訪问存储器域 Outbound:存储器域訪问PCI域 RC訪问EP: RC存储器域->outbound->RC PCI域->EP PCI域->inbou ...