UI基础-day02-Shopping-01搭建商城基本框架
UI基础-day02-Shopping-02添加一个商品
UI基础-day02-Shopping-03九宫格排序
UI基础-day02-Shopping-04优化添加和删除功能
UI基础-day02-Shopping-05加载数据
UI基础-day02-Shopping-06懒加载-1基础
UI基础-day03-Shopping-06懒加载-2Plist文件读取
UI基础-day03-Shopping-06懒加载-3字典转模型
UI基础-day04-Shopping-07自定义控件-01设置子控件的frame
UI基础-day04-Shopping-07自定义控件-02加载数据
UI基础-day04-Shopping-07自定义控件-03初始化和类方法
分析
- 有一种不需要写代码,就能实现自定义View的方法 ---- xib
- xib 和 storyboard的区别?
需求
通过xib方式,展示自定义控件!
效果
新建 xib
-
View 和 Empty的区别?
View 默认一开始就创建了View,而Empty则没有
- 刚开始Xib里面的控件,是无法更改大小得! 选择Freeform,移动就能改变View的大小,且能将电池图标删除.
- 如何将建立好的xib,展示出来呢?
注意:Xib在控制器中默认X,Y都是0.
3.1 loadNibNamed方法
在bundle(软件安装目录)目录下寻找,文件名为"Temp"的nib文件,返回的是数组.
3.1.1. xib文件经过编译后,就变成nib文件.
3.1.2. 文件名不要加后缀xib.如:Temp.xib.
3.1.3. 为什么返回的是数组? 因为,一个xib文件里面可以存放多个View.
3.1.4. arrayTemp.lastObject获取最后一个元素.
NSArray * arrayTemp=[[NSBundle mainBundle] loadNibNamed:@"Temp" owner:nil options:nil];
UIView *viewT = arrayTemp[0];
//UIView *viewT = arrayTemp.lastObject;
[self.view addSubview:viewT];
3.2 nibWithNibName 和 instantiateWithOwner 方法
UINib * nibTemp = [UINib nibWithNibName:@"Temp" bundle:[NSBundle mainBundle]];
NSArray * arrayTemp=[nibTemp instantiateWithOwner:nil options:nil];
UIView *viewT = arrayTemp.firstObject;
[self.view addSubview:viewT];
3.2.1 + nibWithNibName 在"软件安装包"中搜索名称为'Temp'的nib文件,获取它.(注: bundle : nil == bundle:[NSBundle mainBundle])
3.2.2 - instantiateWithOwner 实例化nib对象