控件的封装
- 一个控件看不见有哪些方法
- 宽带和高度其实为0
- 位置不对
- hidden = yes
- alpha = 0
- 没有设置背景色或者图片
- 层次结构
步骤
- 如果一个view子控件多,考虑自定义view,把内部控件屏蔽起来.
- 外界可以传入对应模型,view拿到模型后给对应控件设置值.
- 重写构造方法` (或者不重写构造方法,而重写对象属性的get方法)
- 不重写init方法,而重写initWithFrame因为init方法会调用initWithFrame
// 懒加载例子 重写label的get方法
- (UILabel *)label{
if (_label == nil){
UILabel *label = [[UILabel alloc] init];
label.backgroundColor = [UIColor redColor];
[self addSubview:label];
_label = label;
}
return _label;
}
- 重写layoutsubviews,设置子控件大小
- 一定要调用super layout 方法
- 传入模型数据
- 在头文件中设置模型属性
- 在.m中给对应控件赋值