OC-UI部分,简单的登陆界面简单代码


LoginView.h文件

-(void)dealloc{
    [_nameLabel release];
    [_nameTextField release];
    [_pwdLabel release];
    [_pwdTextField release];
    [_findBackPwdBtn release];
    [_regsiterBtn release];
    [_findBackPwdBtn release];

    [super dealloc];
}
-(instancetype)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    
    if(self){
        NSArray * labelArray = [NSArray arrayWithObjects:@"用户",@"密码", nil];
        //text
        NSArray * textArray = [NSArray arrayWithObjects:@"请输入用户名",@"请输入密码", nil];
        NSArray * buttonArray = [NSArray arrayWithObjects:@"登陆",@"注册",@"找回密码", nil];
        
        for(int i = 0;i < 2;i ++){
            UILabel * lable = [[UILabel alloc] initWithFrame:CGRectMake(40, 35 + 50 * i, (frame.size.width-40)/3.0, 35)];
            lable.text = labelArray[i];
            //text
            UITextField * textField = [[UITextField alloc] initWithFrame:CGRectMake(frame.size.width/3.0, 35+50*i, frame.size.width/3.0*2, 35)];
            textField.placeholder = textArray[i];
            if(i == 0){
                self.nameLabel  = lable;
                self.nameTextField  = textField;
                
            }
            else{
                self.pwdLabel = lable;
                self.pwdTextField = textField;
                //密文输入
                textField.secureTextEntry = YES;
            }
            [self addSubview:lable];
            [self addSubview:textField];
            [lable release];
            [textField release];
           
        }
        
        for (int i =  0; i < 3; i++) {
            UIButton * btn = [UIButton buttonWithType:UIButtonTypeSystem];
            
            btn.frame = CGRectMake(20 + ((frame.size.width - 80)/3.0 + 20) * i,135,(frame.size.width - 4 *20)/3.0, 35);
            [btn setTitle:buttonArray[i] forState:UIControlStateNormal];
            if (i == 0) {
                self.loginBtn = btn;
               
            }
            else if (i == 1){
                self.regsiterBtn = btn;
                
            }
            else{
                self.findBackPwdBtn = btn;
            }
            [self addSubview:btn];
           
            
        }
        
    }
    return  self;
}



LoginViewController.h

@interface LoginViewController ()
//延展声明属性
@property (nonatomic,retain)LoginView * loginView;
//设置属性

@end

@implementation LoginViewController
//释放内存
-(void)dealloc{
    [_loginView release];
    [super dealloc];
}
//loadView
-(void)loadView{
    _loginView = [[[LoginView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];
    self.view = _loginView;
}

//view
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor whiteColor];
    _loginView.findBackPwdBtn.tag = 402;
    _loginView.loginBtn.tag = 400;
    _loginView.regsiterBtn.tag =401;

    _loginView.nameTextField.delegate = self;
    _loginView.nameTextField.returnKeyType = UIReturnKeyNext;
    _loginView.nameTextField.tag = 120;
    _loginView.pwdTextField.delegate = self;
    _loginView.pwdTextField.tag = 121;
    //切换处理事件
    [_loginView.regsiterBtn addTarget:self.parentViewController action:@selector(changeThreeViewInterface:) forControlEvents:UIControlEventTouchUpInside];
    [_loginView.findBackPwdBtn addTarget:self.parentViewController action:@selector(changeThreeViewInterface:) forControlEvents:UIControlEventTouchUpInside];
    [_loginView.loginBtn addTarget:self.parentViewController action:@selector(changeThreeViewInterface:) forControlEvents:UIControlEventTouchUpInside];
    
}


- (BOOL)textFieldShouldReturn:(UITextField *)textField{

    if (textField.tag == 120) {
        [_loginView.pwdTextField becomeFirstResponder];
        return YES;
    }
    
    [textField resignFirstResponder];
    return YES;
}


Registview.h文件

@implementation Registview

//初始化
-(void)dealloc{
    [_phoneNumLabel release];
    [_phoneNumTextField release];
    [_nameLabel release];
    [_nameTextField release];
    [_confpwdLabel release];
    [_confpwdTextField release];
    [_pwdLabel release];
    [_pwdTextField release];
    [_mailLabel release];
    [_mailTextField release];
    [super dealloc];
}
//自定义
-(instancetype)initWithFrame:(CGRect)frame{
    
    if (self = [super initWithFrame:frame]) {
        NSArray * lableArray = [NSArray arrayWithObjects:@"用户名",@"密码",@"确认密码",@"手机号",@"邮箱", nil];
         NSArray * textfiledArray = [NSArray arrayWithObjects:@"请输入用户名",@"请输入密码",@"请再次输入密码",@"请输入手机号",@"请输入邮箱", nil];
        for (int i = 0; i < 5; i ++) {
            //label
            UILabel * label = [[UILabel alloc]initWithFrame:CGRectMake(50, 40 + i * 50, (frame.size.width - 50)/3.0 , 40)];
            label.backgroundColor = [UIColor whiteColor];
            label.text = lableArray[i];
            
            label.textAlignment = NSTextAlignmentLeft;
            
            //textfield
            UITextField * textFiled = [[UITextField alloc]initWithFrame:CGRectMake((frame.size.width)/3.0, 40 + i * 50, (frame.size.width - 50)/3.0 * 2, 40)];
            textFiled.borderStyle =  UITextBorderStyleRoundedRect;
            textFiled.placeholder = textfiledArray[i];
            
            textFiled.backgroundColor = [UIColor whiteColor];
            if (i == 0)
            {
                self.nameLabel = label;
                self.nameTextField = textFiled;
            }
            else if (i == 1){
                self.pwdLabel = label;
                self.pwdTextField = textFiled;
                //密文处理
                textFiled.secureTextEntry =  YES;
            }
            else if (i == 2){
                self.confpwdLabel = label;
                self.confpwdTextField = textFiled;
                //密文处理
                textFiled.secureTextEntry = YES;
            }
            else if (i == 3){
                self.phoneNumLabel = label;
                self.phoneNumTextField = textFiled;
            }
            else {
                self.mailLabel = label;
                self.mailTextField = textFiled;
            }
            [self addSubview:label];
            [label release];
            [self addSubview:textFiled];
            [textFiled release];
            
        }
        
    }
    
    for (int i =  0; i < 2; i++) {
        UIButton * btn = [UIButton buttonWithType:UIButtonTypeSystem];
        btn.frame = CGRectMake(100 + i * 100, 320, 80, 40);
         btn.backgroundColor= [UIColor grayColor];
        
        [self addSubview:btn];
        if (i == 0) {
            self.regsiterBtn = btn;
            
            [btn setTitle:@"注册" forState:UIControlStateNormal];
            [btn setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
           
        }
        else{
            self.cacleBtn = btn;
            
            [btn setTitle:@"取消" forState:UIControlStateNormal];
            [btn setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
            
        }
        
    }
    
    return self;
    
}


RegistViewController.h

@implementation RegistViewController

//内存处理
-(void)dealloc{
    [_registView release];
    [super dealloc];
}

//界面初始化
-(void)loadView{
    _registView = [[[Registview  alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];
    self.view = _registView;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    //registView界面背景
    _registView.backgroundColor = [UIColor whiteColor];
    //定义每个tag值
    _registView.nameLabel.tag = 200;
    _registView.pwdLabel.tag = 201;
    _registView.confpwdTextField.tag = 202;
    _registView.phoneNumLabel.tag = 203;
    _registView.mailLabel.tag = 204;
    
    _registView.nameTextField.tag = 210;
    _registView.pwdTextField.tag = 211;
    _registView.confpwdTextField.tag = 212;
    _registView.phoneNumTextField.tag = 213;
    _registView.mailTextField.tag = 214;
    
    _registView.regsiterBtn.tag = 220;
    _registView.cacleBtn.tag = 221;
    
    //代理
    _registView.nameTextField.delegate = self;
    _registView.pwdTextField.delegate = self;
    _registView.confpwdTextField.delegate = self;
    _registView.phoneNumTextField.delegate = self;
    _registView.mailTextField.delegate = self;
    
    //键盘
    _registView.nameTextField.returnKeyType = UIReturnKeyNext;
    _registView.pwdTextField.returnKeyType = UIReturnKeyNext;
    _registView.confpwdTextField.returnKeyType =UIReturnKeyNext;
    _registView.phoneNumTextField.keyboardType = UIKeyboardTypeNumberPad;
    
    _registView.regsiterBtn.tag = 300;
    [_registView.regsiterBtn addTarget:self action:@selector(resignFinished:) forControlEvents:UIControlEventTouchUpInside];
    _registView.regsiterBtn.tag = 301;
    [_registView.cacleBtn addTarget:self action:@selector(resignFinished:) forControlEvents:UIControlEventTouchUpInside];
    
}
//键盘响应事件
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    if (textField.tag == 210) {
        [_registView.pwdTextField becomeFirstResponder];
        return YES;
    } else if(textField.tag == 211){
    
        [_registView.confpwdTextField becomeFirstResponder];
        return YES;
    }
    else if (textField.tag == 212){
        [_registView.phoneNumTextField becomeFirstResponder];
        return YES;
    }
    else if (textField.tag == 213){
        [_registView.mailTextField becomeFirstResponder];
        return YES;
    }
    [textField resignFirstResponder];
    return YES;
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
//注册完成提示函数
-(void)resignFinished:(UIButton *)sender{
    //判断注册框不能为空
    if (!([_registView.nameTextField.text isEqualToString:@""]&&[_registView.phoneNumTextField.text isEqualToString:@""]&&[_registView.pwdTextField.text isEqualToString:@""]&&[_registView.mailTextField.text isEqualToString:@""]&&[_registView.confpwdTextField.text isEqualToString:@""])) {
        
        if ([_registView.pwdTextField.text isEqualToString:_registView.confpwdTextField.text]) {
            UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"注册成功" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
            [alert show];
            alert.delegate = self;
            [alert release];
        }
        else{
            UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"密码两次输入不一致" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
            [alert show];
            [alert release];
        }
    }
    else{
    
       
            UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"注册不成功" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
            [alert show];
            [alert release];
        

    }
    
}
//alert代理
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    
        
        
//        [_registView.regsiterBtn addTarget:self.parentViewController action:@selector(changeThreeViewInterface:) forControlEvents:UIControlEventTouchUpInside];
        [_registView.mailTextField resignFirstResponder];
        
  
}


PasswordView.h

@implementation PasswordView
-(void)dealloc{
    [_pswTextField release];
    [super dealloc];
}

//定义视图
-(instancetype)initWithFrame:(CGRect)frame{
    if (self = [super initWithFrame:frame]) {
        //textField
        UITextField * textFiled = [[UITextField alloc]initWithFrame:CGRectMake(80, 50, 220, 40)];
        textFiled.backgroundColor = [UIColor whiteColor];
        textFiled.borderStyle =  UITextBorderStyleRoundedRect;
        textFiled.placeholder = @"电子邮箱";
        self.pswTextField = textFiled;
        [self addSubview:textFiled];
        [textFiled release];
        for (int i = 0; i < 2; i++) {
            UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
            btn.frame = CGRectMake(100 + i * 100, 120, 60, 40);
            btn.backgroundColor= [UIColor grayColor];
            
            [self addSubview:btn];
            if (i == 0) {
                self.pswFindbackBtn = btn;
                btn.tag = 500;
                [btn setTitle:@"找回" forState:UIControlStateNormal];
                [btn setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
                
            }
            else{
                self.pswCancelBtn = btn;
                btn.tag = 501;
                [btn setTitle:@"取消" forState:UIControlStateNormal];
                [btn setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
                
            }
            

        }
        
        
    }
    return self;
}




- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    [textField resignFirstResponder];
    return YES;
}

PasswordViewController.h

@implementation PasswordViewController
-(void)dealloc{
    [_passWordView release];
    [super dealloc];
}
//自定义视图大小
-(void)loadView{

    _passWordView = [[[PasswordView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];
    self.view = _passWordView;
    
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    _passWordView.pswTextField.delegate = self;

    //切换处理事件
    _passWordView.pswCancelBtn.tag = 501;
    [_passWordView.pswCancelBtn addTarget:self.parentViewController action:@selector(changeThreeViewInterface:) forControlEvents:UIControlEventTouchUpInside];
    _passWordView.pswFindbackBtn.tag = 500;
    [_passWordView.pswFindbackBtn addTarget:self.parentViewController action:@selector(changeThreeViewInterface:) forControlEvents:UIControlEventTouchUpInside];
    
}

- (BOOL)textFieldShouldReturn:(UITextField *)textField{
    [textField resignFirstResponder];
    return YES;
}






@interface ContainerViewController ()

@implementation PasswordViewController
-(void)dealloc{
    [_passWordView release];
    [super dealloc];
}
//自定义视图大小
-(void)loadView{

    _passWordView = [[[PasswordView alloc] initWithFrame:[UIScreen mainScreen].bounds] autorelease];
    self.view = _passWordView;
    
}

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    _passWordView.pswTextField.delegate = self;

    //切换处理事件
    _passWordView.pswCancelBtn.tag = 501;
    [_passWordView.pswCancelBtn addTarget:self.parentViewController action:@selector(changeThreeViewInterface:) forControlEvents:UIControlEventTouchUpInside];
    _passWordView.pswFindbackBtn.tag = 500;
    [_passWordView.pswFindbackBtn addTarget:self.parentViewController action:@selector(changeThreeViewInterface:) forControlEvents:UIControlEventTouchUpInside];
    
}



//父视图ContainerViewController.h

@interface ContainerViewController ()
@property (nonatomic,retain)LoginViewController * loginV;
@property (nonatomic,retain)RegistViewController * registV;
@property (nonatomic,retain)PasswordViewController * passV;

@end

@implementation ContainerViewController


- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    _loginV = [[LoginViewController alloc]init];
    _registV = [[RegistViewController alloc]init];
    _passV = [[PasswordViewController alloc]init];
    
    [self addChildViewController:_passV];
    [self addChildViewController:_registV];
    [self addChildViewController:_loginV];
    //添加登陆界面视图
    [self.view addSubview:_loginV.view];
    
}

//切换方法
-(void)changeThreeViewInterface:(UIButton *)sender{
    if ([sender.superview isEqual:_loginV.view]) {
        if (sender.tag == 401) {
            [_loginV.view removeFromSuperview];
            [self.view addSubview:_registV.view];
        }
        else if (sender.tag == 402){
            [_loginV.view removeFromSuperview];
            [self.view addSubview:_passV.view];
        }
    }
    
    else if ([sender.superview isEqual:_registV.view])
    {
        if (sender.tag == 300 || sender.tag == 301) {
            [_registV.view removeFromSuperview];
            [self.view addSubview:_loginV.view];
        }
        
    }
    else if ([sender.superview isEqual:_passV.view])
    {
        if (sender.tag == 500 || sender.tag == 501) {
            [_passV.view removeFromSuperview];
            [self.view addSubview:_loginV.view];
        }
    }
    
    
}

@implementation AppDelegate
-(void)dealloc{
    [_window release];
    [super dealloc];
}
AppDelegate.m文件
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[[UIWindow alloc]initWithFrame:[UIScreen  mainScreen].bounds] autorelease];
    ContainerViewController * containerVC = [[ContainerViewController alloc] init];
    self.window.rootViewController = containerVC;
    [containerVC release];

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值