




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
应用管理iOS学科小案例简介功能分析以九宫格的形式展示应用信息点击下载按钮后,做出相应的操作步骤分析加载应用信息根据应用的个数创建对应的view监听下载按钮点击掌握UIView的常见属性和方法九宫格计算方法字典转模型Xib的使用自定义view(view的封装)简单的MVC作业点击下载按钮后变成不能点击的“已安装”中间慢慢弹出提示:已经成功安装xxx,然后提示会慢慢消失搭建九宫格的步骤明确每一块用的是什么view明确每个view之间的父子关系先尝试逐个逐个添加格子,最后考虑使用for循环加载app数据,根据数据长度创建对应个数的格子添加格子内部的子控件给格子内部的子控件装配数据九宫格算法分析012345678xy每一列的x值一样x值由列号决定每一行的y值一样y值由行号决定每个视图center.x
=
x
+
w*0.5每个视图center.y=y+h*0.5栈堆buttonbutton_textLabel(readonly)_imageViewlabellabelMVCM:
Model模型V:视图C:控制器Controller控制器:大管家Model模型:数据View视图:显示数据数据模型,让视图更新显示用户交互master/developer0.10.2分支0.010.3用模型取代字典的好处使用字典的坏处一般情况下,设置数据和取出数据都使用“字符串类型的key”,编写这些key时,编辑器没有智能提示,需要手敲dict[@"name"]=@"Jack";NSString*name=dict[@"name"];手敲字符串key,key容易写错Key如果写错了,编译器不会有任何警告和报错,造成设错数据或者取错数据使用模型的好处所谓模型,其实就是数据模型,专门用来存放数据的对象,用它来表示数据会更加专业模型设置数据和取出数据都是通过它的属性,属性名如果写错了,编译器会马上报错,因此,保证了数据的正确性使用模型访问属性时,编译器会提供一系列的提示,提高编码效率=@"Jack";NSString*name=;字典转模型字典转模型的过程最好封装在模型内部模型应该提供一个可以传入字典参数的构造方法-(instancetype)initWithDict:(NSDictionary*)dict;+(instancetype)xxxWithDict:(NSDictionary*)dict;instancetypeinstancetype在类型表示上,跟id一样,可以表示任何对象类型instancetype只能用在返回值类型上,不能像id一样用在参数类型上instancetype比id多一个好处:编译器会检测instancetype的真实类型字典转模型的过程PlistNSArray字典数组NSDictionaryNSDictionaryNSDictionary…
…模型数组NSArrayAppInfoAppInfoAppInfo…
…Xib文件的使用Xib文件可以用来描述某一块局部的UI界面Xib文件的加载方法1NSArray*objs=[[NSBundle
mainBundle]loadNibNamed:@"MJAppView"
owner:nil
options:nil];这个方法会创建xib中的所有对象,并且将对象按顺序放到objs数组中(如果xib如右图所示,那么objs数组中依次会有3个对象:1个UIView、1个UIButton、1个UISwitch)方法2bundle参数可以为nil,默认就是main
bundleUINib*nib=[UINib
nibWithNibName:@"MJAppView"
bundle:[NSBundle
mainBundle]];NSArray*objs=[nibinstantiateWithOwner:nil
options:nil];在开发阶段,面向开发者的是xib文件;当把应用装到手机上时,xib文件就会转为nib文件随意调整view的尺寸要想随意调整xib中view的尺寸,首先要设置size为FreeformXib和storyboard对比共同点:都用来描述软件界面都用Interface
Builder工具来编辑不同点Xib是轻量级的,用来描述局部的UI界面Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系view的封装如果一个view内部的子控件比较多,一般会考虑自定义一个view,把它内部子控件的创建屏蔽起来,不让外界关心外界可以传入对应的模型数据给view,view拿到模型数据后给内部的子控件设置对应的数据UILabel的常见设置@property(nonatomic,copy)NSString*text;显示的文字@property(nonatomic,retain)UIFont*font;字体@property(nonatomic,retain)UIColor*textColor;文字颜色@property(nonatomic)NSTextAlignmenttextAlignment;对齐模式(比如左对齐、居中对齐、右对齐)
UIFontUIFont代表字体,常见创建方法有以下几个:+(UIFont*)systemFontOfSize:(CGFloat)fontSize;系统默认字体+(UIFont*)boldSystemFontOfSize:(CGFloat)fontSize;粗体+(UIFont*)italicSystemFontOfSize:(CGFloat)fontSize;斜体UIButton的常见设置-(void)setTitle:(NSString*)titleforState:(UIControlState)state;设置按钮的文字-(void)setTitleColor:(UIColor*)colorforState:(UIControlState)state;设置按钮的文字颜色-(void)setImage:(UIImage*)imageforState:(UIControlState)state;设置按钮内部的小图片-(void)setBackgroundImage:(UIImage*)imageforState:(UIControlState)state;设置按钮的背景图片设置按钮的文字字体(需要拿到按钮内部的label来设置)btn.titleLabel.font=[UIFont
systemFontOfSize:13];UIButton的常见设置-(NSString*)titleForState:(UIControlState)state;获得按钮的文字-(UIColor*)titleColorForS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 消毒师考试题及答案
- 教育教学反思与工作提升的评估试题及答案
- 施工现场安全宣传的有效途径与实施策略试题及答案
- 小调与大调的理论差异试题及答案
- 船舶租赁合同
- 备案合同协议书
- 节奏与速度的理解试题及答案
- 施工安全流程优化考题分析试题及答案
- 雨水管网改造项目全景分析报告
- 职场中商务英语日常表述技巧试题及答案
- 山西焦煤招聘2025笔试题库
- 军工科研招投标行为规范须知
- 幼儿园食堂主要负责人食品安全岗位职责
- 《散货船结构简介》课件
- 高压设施维修合同范例
- AI新时代算力需求高增长-算力网络建设有望奔向太空
- 2024届考研199管理类综合能力真题及解析完整版
- 肠梗阻合并糖尿病护理查房
- DB32T-无锡水蜜桃标准
- 古诗词诵读《登岳阳楼》公开课一等奖创新教学设计统编版高中语文必修下册
- 2024版工厂并购协议书范本
评论
0/150
提交评论