2015年07月03日12:09:46
细节归纳
1.获取屏幕的宽度
CGFloat screenW = self.view.frame.size.width;
2.求边距
(屏幕的宽度-列数*app的宽度)/ (列数+1)
3.用fame初始化一个UIView对象
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(x,y,w,h)];
4.UIView对象的背景颜色:.backgroundColor
5.在View控制器中 把子控件添加的主屏幕
[self.view addSubview:view];
6.坐标和长宽的类型是CGFloat类型那个
7.第n个app的X坐标(n从0开始)
边距的宽度+(边距宽度+app宽度) *(n%列数)
8.第n个app的Y坐标(n从0开始)
固定高度+边距高度+(边距高度+app高度)* (n/列数)
2015年07月03日12:22:07 字典数组存储数据相关
9.单个记录数据可以存放在字典中,多个记录就有多个字典,多个字典可以放在一个数组中;数据用数组保存
思路归纳
10.关于9 数据存放的实现步骤 === 放在ViewdidLoad方法里区操作
1)新建一个字典
2)将一个记录数据按键值存放在字典中
3)循环做1)2)步骤 直到 所有记录放在n个字典中
4)定义一个数组,将所有字典放进数组
细节归纳
11.关于10取数据
1)一个数组元素就是一个字典类型的对象
2)通过字典取值方法:dict[@“icon”];取出
2015年07月03日12:22:29
12.把子控件放进父控件
[父控件 addSubview:子控件];
13.初始化一个控件
控件类 控件A = [[控件类 alloc] initWithFrame:CGRectMake(x,y,h,w)];
14.UIImageView 对象有个 image 存放 一个 UIImage 对象 来设置图片
15.设置Label的文本对齐方式:[label setTextAlignment:NSTextAlignmentCenter];
16.设置Label的文本 label.text 设置颜字体 lebel.font = [UIFont systemFontOfSize:13];
17.创建一个按钮
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
背景图片 [button setBackgroundImage: forState:];
设置标题 [button setTitle: forState:];
设置位置和尺寸 button.frame;
18.关于9 数据存放的实现步骤 === 为了更好的管理放在plist文件中
1)创建plist文件
2)创建数组,创建字典 ,存放数据
3)取数据1)找到这个文件,2)根据这个文件生成数组 3)这时数组元素就是一个字典记录数据
19.18.不能避免最终用字典取数据,所以诞生了模型类
20.在模型类里封装用字典取数据,和加载数据的操作
21.然后再控制器里.引入模型类就可以这个类的属性访问数据了。
2015年07月03日18:50:49 根据老师讲的应用管理程序总结
思路分析
1.显示View
1)边距宽度,边距高度,app宽度,app高度,状态栏固定高度,屏幕的宽度
2)每个应用布局,看做一个大View控件,利用xib文件进行封装,参考xib文件,利用其数组中的控件,新建一个控件类
控件类
1)控件1;控件2;……(.m文件中类别()中);模型类对象(.h文件中)
2)重写模型属性的setter方法,给属性属性赋值,给子控件赋值;
3)控件的监听方法;
4)加载xib的控件类方法B,返回一个控件类对象
2.数据Mode
每个数据属性一致,只是数据不同,参考plist文件,利用其数组中的字典,统一建模型类,这样一个应用就是一个模型类对象
模型类
1)属性1;属性2;……..
2)字典转模型的对象方法;
3)字典转模型的类方法;
4)加载,遍历plist的数据,将字典转化为模型类A
3.调度Controller
1)定义各种宽度,坐标,高度
2)加载数据,定义一个模型数组属性来盛放
实际加载过程由模型类去封装,控制器只需要利用模型类调用接口A
3) 遍历数据,生成子控件,添加到主屏幕
子控件的生成,利用自定义子控件类调用接口B
利用子控件自带fame属性对象设置子控件的位置大小
利用子控件自定义的模型属性设置子控件的数据
4.下载按钮的思路
1)禁用
2)改变按钮名字
3)弹窗
5.弹窗
1)考虑弹窗后,用户不能再交互;弹窗后,当前按钮显示的标题
2)弹窗的表现形式:用Label的动画变化效果
3)Label的动画:延迟一秒消失;消失后,让用户可以再交互
6.当在一个父控件中展示多个相同控件时要考虑的
1)该控件的宽高
2)每行显示多少列
3) 控件的左右边距,当每行显示的列不是均分的时候,要考虑特殊的最左边距
7.遍历生成子控件要考虑
细节归纳
1.commond + 选中的代码 可以拖入代码块,以备下次使用
2.加载Xib数据的方法
AppView * appView = [[NSBundle mainBundle] loadNibNamed:@”AppView” owner:nil options:nil].lastObject;
3.用bounds时,要事先确定该控件的center
4.用frame时,先确定该控件的大小,然后通过大小计算与主屏的位置
5.设置文本对齐格式 textAlignment
6.设置控件透明度 alpha
7.制作控件的圆角效果 layer.cornerRadius = 10; clipsToBounds
8.添加带回调函数的动画,可以嵌套调用
[
UIView
animateWithDuartion:1
animations^{}
completion:^(BOOL finished){}]
;
9.添加不带回调函数的动画
[
UIView
animateWithDuartion:1
animations^{}
];
10.添加带延迟,同时有样式的动画
[
UIView
animateWithDuration:<#(NSTimeInterval)#>
delay:<#(NSTimeInterval)#>
options:<#(UIViewKeyframeAnimationOptions)#>//UIViewAnimationOptionCurveLinear
animations:<#^(void)animations#>
completion:<#^(BOOL finished)completion#>
];