使用xib封装一个自定义view的步骤
2016-01-08 16:19
323 查看
视频为:传智播客2014年第四期3-6月份(MJ老师的视频) – 第三天(应用管理小项目)课程
1.新建一个继承UIView的自定义view,假设类型叫做(MJAppView)
注意:新建MJAppView时,要继承自UIView,否则xib文件无法关联
MJAppView.h 文件代码
MJAppView.m 文件代码
2.新建一个MJAppView.xib文件来描述MJAppView内部的结构
3.修改UIView的类型为MJAppView
4.将内部的子控件跟MJAppView进行属性连线
5.MJAppView提供一个模型属性
6.重写模型属性的set方法,因为在set方法中可以拿到外界传递的模型数据
7.把模型数据拆开,分别设置数据到对应的子控件中
8.补充:提供一个创建MJAppView的类方法,将读取xib文件的代码屏蔽起来
1.新建一个继承UIView的自定义view,假设类型叫做(MJAppView)
注意:新建MJAppView时,要继承自UIView,否则xib文件无法关联
MJAppView.h 文件代码
#import <UIKit/UIKit.h> @class MJApp; @interface MJAppView : UIView /** * 模型数据 */ @property (nonatomic,strong) MJApp *app; +(instancetype)appView; /** * 通过模型数据来创建一个view */ +(instancetype)appViewWithApp:(MJApp *)app; @end
MJAppView.m 文件代码
#import "MJAppView.h" #import "MJApp.h" @interface MJAppView() @property (weak, nonatomic) IBOutlet UIImageView *iconView; @property (weak, nonatomic) IBOutlet UILabel *nameLabel; @end @implementation MJAppView +(instancetype)appViewWithApp:(MJApp *)app{ NSBundle *bundle = [NSBundle mainBundle]; NSArray *objs = [bundle loadNibNamed:@"MJAppView" owner:nil options:nil]; MJAppView *appView = [objs lastObject]; appView.app = app; return appView; } +(instancetype)appView{ return [self appViewWithApp:nil]; } -(void)setApp:(MJApp *)app{ _app = app; self.iconView.image = [UIImage imageNamed:app.icon]; self.nameLabel.text = app.name; } @end
2.新建一个MJAppView.xib文件来描述MJAppView内部的结构
3.修改UIView的类型为MJAppView
4.将内部的子控件跟MJAppView进行属性连线
5.MJAppView提供一个模型属性
6.重写模型属性的set方法,因为在set方法中可以拿到外界传递的模型数据
7.把模型数据拆开,分别设置数据到对应的子控件中
8.补充:提供一个创建MJAppView的类方法,将读取xib文件的代码屏蔽起来
相关文章推荐
- java类型转换
- linux上nfs配置
- OC Block(代码块)
- Windows下Nginx的安装与使用(一):配置端口转发
- 关于使用C++的成员初始化列表
- dubbo
- 单元测试利器——Mockito与PowerMockito
- 真机编译报错:"The application could not be verified."
- sqlzoo练习答案--SELECT from Nobel Tutorial/zh
- JS正则表达式大全
- xUtils框架
- vs release版本的断点调试
- 前端手册之---CSS 选择器(包括css1-css3)
- 寻找美好,不如创造美好
- 【POJ2656】:Unhappy Jinjin
- 视觉SLAM的数学基础 第一篇 3D空间的位置表示
- 【机器学习算法-python实现】协同过滤(cf)的三种方法实现
- android 半边圆角
- EAX、ECX、EDX、EBX寄存器的作用
- Winfrom动态添加控件,不使用拖