iOS中QQ登录界面的制作,登录页面和注册页面的切换

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


LoginView.m中首先引入之前封装好的LTView.h头文件

- (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;

}


3.制作用户注册页面

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;

}


4.ViewController视图控制器来实现登录界面和注册界面的显示,界面切换


#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;

}

现在来运行下程序


因为我们只设置了注册键的功能,点击注册键,就可以进入注册界面


再次点击取消按键,既可以又返回到上一个页面



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值