1.首先将Label和TextField封装成一个LTView的类,这样每次创建可以直接生成一组Label和TextField。
command + n 创建一个LTView的类
将LTView.h的接口文件里,定义label和textField的实例变量:
@property (nonatomic,strong)UILabel *laber;
@property (nonatomic,strong)UITextField *textField;
在LTView.m文件中进行封装:
self = [superinitWithFrame:frame];
if (self) {
self.laber = [[UILabelalloc] initWithFrame:CGRectMake(0,0, width/3,height)];
[selfaddSubview:self.laber];
self.laber.layer.borderWidth = 1;
self.laber.layer.cornerRadius = 5;
self.laber.textAlignment = NSTextAlignmentCenter;
self.textField = [[UITextFieldalloc] initWithFrame:CGRectMake(width/3,0, width/3*2,height)];
self.textField.borderStyle =3;
[selfaddSubview:self.textField];
2.制作qq登录界面:command + n 新建一个LoginView的类。
LoginView.h的接口文件中设置全局变量:
@classLTView;
@interface LoginView :UIView
@property (nonatomic,strong)LTView *usrName;
@property (nonatomic,strong)LTView *PWD;
@property (nonatomic,strong)UIButton *loginButton;
@property (nonatomic,strong)UIButton *button1;
@property (nonatomic,strong)UIButton *button2;
@property (nonatomic,strong)UIButton *button3;
@end
- (instancetype)initWithFrame:(CGRect)frame
{
self = [superinitWithFrame:frame];
if (self) {
self.usrName = [[LTViewalloc] initWithFrame:CGRectMake(50,100, 200,30)];
self.usrName.laber.text = @"用户名";
self.usrName.textField.placeholder = @"请输入用户名";
[selfaddSubview:self.usrName];
self.PWD = [[LTViewalloc] initWithFrame:CGRectMake(50,150, 200,30)];
self.PWD.laber.text = @"密码";
self.PWD.textField.placeholder = @"请输入密码";
self.PWD.textField.secureTextEntry = YES;
self.PWD.textField.clearsOnBeginEditing = YES;
[selfaddSubview:self.PWD];
self.button1 = [UIButtonbuttonWithType:UIButtonTypeSystem];
[self.button1setFrame:CGRectMake(50,200, 50,30)];
[self.button1setTitle:@"登录"forState:UIControlStateNormal];
self.button1.layer.borderWidth = 1;
self.button1.layer.cornerRadius = 5;
[self.button1setTitleColor:[UIColorredColor] forState:UIControlStateHighlighted];
[selfaddSubview:self.button1];
self.button2 = [UIButtonbuttonWithType:UIButtonTypeSystem];
[self.button2setFrame:CGRectMake(110,200, 80,30)];
[self.button2setTitle:@"找回密码"forState:UIControlStateNormal];
self.button2.layer.borderWidth = 1;
self.button2.layer.cornerRadius = 5;
[selfaddSubview:self.button2];
self.button3 = [UIButtonbuttonWithType:UIButtonTypeSystem];
[self.button3setFrame:CGRectMake(200,200, 50,30)];
[self.button3setTitle:@"注册"forState:UIControlStateNormal];
self.button3.layer.borderWidth = 1;
self.button3.layer.cornerRadius = 5;
[selfaddSubview:self.button3];
}
returnself;
}
command + n 创建一个RegistView的类
同样第一步在RegistView.h文件中设置全局变量
@classLTView;
@interface RegistView :UIView
@property (nonatomic,strong)LTView *userView;
@property (nonatomic,strong)LTView *PWD;
@property (nonatomic,strong)LTView *entetPWD;
@property (nonatomic,strong)LTView *phoneNum;
@property (nonatomic,strong)LTView *email;
@property (nonatomic,strong)UIButton *button1;
@property (nonatomic,strong)UIButton *button2;
@end
RegistView.m文件中制作登录界面的内容
- (instancetype)initWithFrame:(CGRect)frame
{
self = [superinitWithFrame:frame];
if (self) {
self.userView = [[LTViewalloc] initWithFrame:CGRectMake(50,100, 200,30)];
self.userView.laber.text = @"用户名";
self.userView.textField.placeholder = @"请输入用户名";
[selfaddSubview: self.userView];
self.PWD = [[LTViewalloc] initWithFrame:CGRectMake(50,150, 200,30)];
self.PWD.laber.text = @"密码";
self.PWD.textField.placeholder = @"请输入密码";
self.PWD.textField.secureTextEntry = YES;
self.PWD.textField.clearsOnBeginEditing = YES;
[selfaddSubview:self.PWD];
self.entetPWD = [[LTViewalloc] initWithFrame:CGRectMake(50,200, 200,30)];
self.entetPWD.laber.text = @"确认密码";
self.entetPWD.textField.secureTextEntry = YES;
self.entetPWD.textField.placeholder = @"再次确认密码";
self.entetPWD.textField.clearsOnBeginEditing = YES;
[selfaddSubview:self.entetPWD];
self.phoneNum = [[LTViewalloc] initWithFrame:CGRectMake(50,250, 200,30)];
self.phoneNum.laber.text = @"手机号";;
self.phoneNum.textField.placeholder = @"请输入联系方式";
[selfaddSubview:self.phoneNum];
self.email = [[LTViewalloc] initWithFrame:CGRectMake(50,300, 200,30)];
self.email.laber.text = @"邮箱";
self.email.textField.placeholder = @"请输入邮箱";
[selfaddSubview:self.email];
self.button1 = [UIButtonbuttonWithType:UIButtonTypeSystem];
[self.button1setFrame:CGRectMake(50,330, 90,30)];
[self.button1setTitle:@"注册"forState:UIControlStateNormal];
self.button1.layer.borderWidth = 1;
self.button1.layer.cornerRadius = 5;
[selfaddSubview:self.button1];
self.button2 = [UIButtonbuttonWithType:UIButtonTypeSystem];
[self.button2setFrame:CGRectMake(160,330, 90,30)];
[self.button2setTitle:@"取消"forState:UIControlStateNormal];
self.button2.layer.borderWidth = 1;
self.button2.layer.cornerRadius = 5;
[selfaddSubview:self.button2];
}
returnself;
}
#pragma mark 懒加载 注册页面
- (RegistView *)registView{
if (!_registView) {
_registView = [[RegistViewalloc] init];
}
return_registView;
}
// 加载页面;
- (void)loadView{
[superloadView];
self.loginView = [[LoginViewalloc] initWithFrame:[UIScreenmainScreen].bounds];
self.view =self.loginView;
}
// 添加按键功能;
- (void)viewDidLoad {
[superviewDidLoad];
[self.loginView.button3addTarget:selfaction:@selector(cancellation)forControlEvents:UIControlEventTouchUpInside];
[self.registView.button2addTarget:selfaction:@selector(back)forControlEvents:UIControlEventTouchUpInside];
}
// 注册键的功能实现;
- (void)cancellation{
self.view =self.registView;
}
// 返回键的功能实现;
- (void)back{
self.view =self.loginView;
}
现在来运行下程序
因为我们只设置了注册键的功能,点击注册键,就可以进入注册界面
再次点击取消按键,既可以又返回到上一个页面