在平常的开发中,可能有些代码是有重复使用,或者在另外的一个项目中会有这样的功能段.这个时候我们就要把该功能段封装,打包,以便后续使用.
在调用的时候用有点类似于:有很多属性的类一样,在调用的使用要初始化,使用类的属性只需取出既可.
实现功能过程如下
1:首先创建一个控制器继承自UIView
2:创建一个uiviewcontroller,在.m把自定义uiview在头文件中引入
3:设置启动文件.
实现过程:
1:我们首先创建一个控制器logview继承自UIView,
例如我们的这个页面只显示个人的基本信息的时候,
我们就要在logview.h文件中把基本信息显示的label放入该文件中
/**
* 姓名
*/
@property(nonatomic,retain)UILabel *usernames;
/**
* 毕业学校名称
*/
@property(nonatomic,retain)UILabel *userschool;
在logview.m文件中- (id)initWithFrame:(CGRect)frame的方法里实现具体属性
实现代码如下
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
self.usernames = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 100, 50)];
self.usernames.backgroundColor = [UIColor redColor];
self.userschool = [[UILabel alloc] initWithFrame:CGRectMake(50, 170, 100, 50)];
self.userschool.backgroundColor = [UIColor grayColor];
[self addSubview:self.usernames];
[self addSubview:self.userschool];
}
return self;
}
2:创建一个uiviewcontroller,把自定义uiview在头文件中引入
创建一个MainViewController继承自UIViewController.在该控制器的头文件中引入我们自定的UIView#import “logView.h”
//设置在初始化的时候和主屏幕一样大小
logView *login = [[logView alloc] initWithFrame:[UIScreen mainScreen].bounds];
login.usernames.text = @"ddddddddd";
login.userschool.text = @"ddfffffffffffffffffff";
[self.view addSubview:login];
3:设置启动文件
3.1在appdelegate.m文件中引入头文件我们添加的自定义的控制器
#import “MainViewController.h"
3.2 设置启动的控制器页面
MainViewController *mvc = [[MainViewController alloc] init];
self.window.rootViewController = mvc;
在以后的开发中,我们可以把工程中的某一个某块单独抽出来,把他封装套自己的UIView中,形成自己的一个类库,在以后的开发中用到功能类似的时候可以直接把该UIView拖拽到工程中,在控制器中,引入头文件,在初始化该UIView,拿到该view的属性赋值就可以了.