版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
A02-创建项A02-创建项A03-加载plist文A03-加载plist文//从plist中加载的数@property(nonatomic,strong)NSArray//1懒加载plist-(NSArray{if(_appInfos==nil)//获取当前应用的NSBundle*bundle=[NSBundleNSString*path=[bundlepathForResource:@"app.plist"_appInfos=[NSArray}return}星期二 //1动态创建UIView*view1=[[UIViewalloc][self.view//2设置viewview1.backgroundColor=[UIColorview1.frame=CGRectMake(10,50,90,//1动态创建UIView*view2=[[UIViewalloc][self.view//2设置viewview2.backgroundColor=[UIColorview2.frame=CGRectMake(110,50,90,//1动态创建UIView*view3=[[UIViewalloc][self.view//2设置viewview3.backgroundColor=[UIColorview3.frame=CGRectMake(210,50,90,//1动态创建UIView*view4=[[UIViewalloc][self.view//2设置viewview4.backgroundColor=[UIColorview4.frame=CGRectMake(10,150,90,子view的横向间距=(父view3*子view子view的纵向间距=当前子view的行号=当前遍历到得索引值/当前子view的列号=当前遍历到得索引值%子view横坐标的公式=子view的横向间距+列号*(子view的横向间距+子view的宽度)子view纵坐标的公式=50+行号*(子view的纵向间距+子view的高度)CGFloatviewW=90;CGFloatviewH=90;inttotalColumns=CGFloatmarginX=(self.view.frame.size.width-viewW*totalColumns)/(totalColumns+1);CGFloatmarginY=20;//1遍历所有的appInfo生成9for(inti=0;i<self.appInfos.count;i++)//2动态创建子UIView*view=[[UIViewalloc][self.viewaddSubview:view];view.backgroundColor=[UIColorredColor];introw=i/intcolumn=i%CGFloatviewX=marginX+column*(viewW+marginX);CGFloatviewY=50+row*(viewH+marginY);view.frame=CGRectMake(viewX,viewY,viewW,}A05-显示应用信星期二 //3给子view//3.1UIImageView*iconView=[[UIImageViewalloc][viewiconView.image=[UIImageCGFloaticonW=50;CGFloaticonH=CGFloaticonX=(viewW-iconW)/2;CGFloaticonY=0;iconView.frame=CGRectMake(iconX,iconY,iconW,//3.2添加显示名称的UILabel*nameLabel=[[UILabelalloc]init];[viewaddSubview:nameLabel];nameLabel.textdic[@"name"];nameLabel.font=[UIFontnameLabel.textAlignment=CGFloatnameWviewW;CGFloatnameH=20;CGFloatnameX=0;CGFloatnameY=iconH;nameLabel.frame=CGRectMake(nameX,nameY,nameW,//3.3添加按UIButton*downloadView=[UIButtonbuttonWithType:UIButtonTypeCustom];[view[downloadViewsetBackgroundImage:[UIImageimageNamed:@"buttongreen"]forState:UIControlStateNormal];[downloadViewsetBackgroundImage:[UIImageimageNamed:@"buttongreen_highlighted"]CGFloatdownW=iconW;CGFloatdownH=20;CGFloatdownX=(viewW-downW)/CGFloatdownY=CGRectGetMaxY(nameLabel.frame);downloadView.frame=CGRectMake(downX,downY,downW,downH);[selfdisplaySubViews:viewdic:dic星期二 不面象象界抽的,更的//copy字符串//strongoc//weakui//assign基本数据类型@property(nonatomic,copy)NSString*icon;@property(nonatomic,copy)NSString*name;-(NSArray{if(_appInfos==nil)//1获取当前应用的NSBundle*bundle=[NSBundle//2plistNSString*path=[bundlepathForResource:@"app.plist"//3从plist中加载字典数NSArray*dicArray=[NSArray//4appInfo的临时数NSMutableArray*appInfos=[NSMutableArray//5for(NSDictionary*dicindicArray)CZAppInfo*appInfo=[[CZAppInfoalloc]init];appI=dic[@"name"];appInfo.icon=[appInfosaddObject:appInfo];}_appInfos=}return}A07-封装字典转对 idNSString*sCZAppInfoappInfoWithDic:dic];instancetype会返回特定的类 NSString*s=[CZAppappInfoWithDic:dic];编译会警告类型不匹2、封装字典转模型,在CZAppInfo@implementation//controlcommand+上下.m和.h//构造方法初始化类的name和icon属-(instancetype)initWithDic:(NSDictionary{if(self=[super{=dic[@"name"];self.icon=dic[@"icon"];}return}//{return[[selfalloc]}-(NSArray{if(_appInfos==nil)_appInfos=[CZAppInfo}return}+(NSArray{//1获取当前应用的NSBundle*bundle=[NSBundle//2plistNSString*path=[bundlepathForResource:@"app.plist"//3从plistNSArray*dicArray=[NSArray//4appInfo的临时数NSMutableArray*appInfos=[NSMutableArray//5for(NSDictionary*dicindicArray)CZAppInfo*appInfo=[CZAppInfo[appInfosaddObject:appInfo];}return}A08-
星期 1、xib和 创建在xib中拖拽一个view。设置xib中的view的大小可调整设置大小为90*90和之前的子view的设置子view中的3、从xib中加载子view改造[viewA09-Xib的封装,自定义星期二 2、xib和自定义View产生关联后,进行连@property(weak,nonatomic)IBOutletUIImageView*iconView;@property(weak,nonatomic)IBOutletUILabel*nameView; 测4、继续自定义view的封添加类方法,快速创建自定义view的对+{returnview;}CZAppInfoView添加模型属@property(nonatomic,strong)CZAppInfo重写属性的setter方法,给自定义view的的name和icon控件赋{_appInfo=}改造星期二 A08-xib中完成的代码controller得知道xib中具体的控件,产生依赖为了减少依赖,把xib控件的赋值给封装起来如果一个view的子控件比较多,一般会考虑自定义一个view,把它的子控件的创建起来,不让外界关心,这样不view怎么变化外界都不需要知外界可以传入对应的模型数据给自定义view,view拿到模型数据后给的子控件设置对应的数分区三天(应用管理)16A11-简单星期二 A12-xib加载过A12-xib加载过JSAppView*view=[[JSAppViewalloc]init];View.frame=CGRectMake(0,0,85,90);[view都界都用InterfaceBuilder工具来编辑Scenes和xib是轻量级的,局部的UI界stroybard重量级的,整的多个界面并且能展示storyboard是ios5以后才有X01-掌X01-掌自定义view(view的封装)X02-xcode中的常用快捷星期 shift+comand+n option+command+n新建分组command+n新建文件shift+command+ocommand+f控制commandt新建tabcommandwcomand0optioncommand0optioncommand1.。。。。control+comand+上/ control+comand+左/ shiftcommandshiftoption去掉shift实验controlcommandjcontrol6command+command+command+option+command+左/ X03-常见问题及解星9:171、手贱#import写成#import2、xx.hhasbeenmodifiedsince piled1、删除/Users/ 2、clean下项目重新编译X04-容易忘记星期二 nameView.layer.cornerRadius=5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度夏令营教育资源共享与合作合同3篇
- 2025年湘教版八年级历史上册月考试卷
- 二零二五年度餐饮连锁品牌加盟授权合同3篇
- 2025年浙教版必修1地理上册阶段测试试卷
- 2025年度水电工程水土保持与生态修复承包合同集锦3篇
- 2025年度文化旅游合伙经营合同4篇
- 2025门面店面装修合同书
- 二零二五年度数据中心网络安全防护合同14篇
- 二零二五年度影视制作合同会签协议3篇
- 2025年度环保节能设备销售与安装服务合同2篇
- 李四光《看看我们的地球》原文阅读
- 广州绿色金融发展现状及对策的研究
- 《近现代史》义和团运动
- 人教版四年级上册加减乘除四则混合运算300题及答案
- 合成生物学技术在生物制药中的应用
- 消化系统疾病的负性情绪与心理护理
- 高考语文文学类阅读分类训练:戏剧类(含答案)
- 协会监事会工作报告大全(12篇)
- 灰坝施工组织设计
- WS-T 813-2023 手术部位标识标准
- 同意更改小孩名字协议书
评论
0/150
提交评论