猫猫学IOS(五)UI之360等下载管理器九宫格UI
来源:互联网 发布:浙江卫视网络直播 编辑:程序博客网 时间:2024/05/18 00:48
猫猫分享,必须精品
素材下载地址: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];
未完待续。。。。
ps:昨晚用同学电脑看自己写的咋样,发现csdn竟然进不去,喵了个咪的猫猫就醉了,更醉的是发现竟然在别的网站有转载的,瞬间鸡冻了喵。
15 0
- (素材源码) 猫猫学IOS(五)UI之360等下载管理器九宫格UI
- 猫猫学IOS(五)UI之360等下载管理器九宫格UI
- AJ学IOS(05)UI之360等下载管理器九宫格UI
- iOS开发UI篇章之 九宫格坐标计算
- UI之五种布局管理器
- IOS-UI学习笔记(九宫格应用管理)
- iOS UI设计---九宫格布局算法
- JavaME UI设计之九宫格
- UI----九宫格算法
- UI九宫格算法
- ios开发之UI基础--应用管理xib-九宫格布局
- iOS开发-UI-应用管理实现九宫格界面
- iOS开发UI基础—06九宫格算法示例
- iOS开发UI篇—九宫格坐标计算
- UI 一一 九宫格思想
- UI之九宫格设计思路与实现技巧要点
- 猫猫学IOS(三十七)UI之CALayer
- iOS UI学习笔记(五)UITextField
- 第2周-项目3-程序的多文件组织-三角形类
- hihoCoder 1114 扫雷1
- 文章标题
- 一个初学者对Linux的简单认识
- IDF实验室之初探乾坤Fuck your brain
- 猫猫学IOS(五)UI之360等下载管理器九宫格UI
- 第2周-项目4-程序的多文件组织-考了语文数学的学生
- 各种存储和存储间的比较
- UITextField 点击右下角return按钮触发事件
- 好记性不如烂笔头89-spring3学习(10)-spring3常用schema(持续整理)
- bzoj2298: [HAOI2011]problem a dp
- Java基础视频教程第24天_网络编程二(了解即可)
- 难道冬泳都会断子绝孙?
- strlen() / sizeof() / length() 区别