单例传值(三个界面)

1,在Appdelegate.m文件中创建根视图控制器

ViewController * vc = [[ViewController alloc]init];
    UINavigationController * nvc = [[UINavigationController alloc]initWithRootViewController:vc];
    self.window.rootViewController = nvc;

2,在viewController.h文件中定义定义属性

@property(retain,nonatomic)UIImageView * Logoimage;
@property(retain,nonatomic)UITextField * PhoneNumberTextField;
@property(retain,nonatomic)UITextField * PasswordTextField;
@property(retain,nonatomic)UIScrollView * ScrollView;

@property(retain,nonatomic)UIButton * RegisterButton;
@property(retain,nonatomic)UIButton * Log_inButton;


3.在 viewController.m文件中创建下面的界面


- (void)viewDidLoad
{
    [super viewDidLoad];
	
    self.view.backgroundColor = [UIColor whiteColor];
    
    UIButton * leftButton = [UIButton buttonWithType:UIButtonTypeCustom];
    leftButton.frame = CGRectMake(0, 0, 90/2, 70/2);
    [leftButton setImage:[UIImage imageNamed:@"3.gif"] forState:UIControlStateNormal];
    [leftButton addTarget:self action:@selector(zhuceAction) forControlEvents:UIControlEventTouchUpInside];
    UIBarButtonItem * leftItem = [[UIBarButtonItem alloc]initWithCustomView:leftButton];
    self.navigationItem.title = @"登录";
    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"4.gif"] forBarMetrics:UIBarMetricsDefault];
    self.navigationItem.leftBarButtonItem = leftItem;
    
    _ScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    _ScrollView.delegate = self;
    _ScrollView.contentSize = CGSizeMake(320, 600);
    _ScrollView.showsVerticalScrollIndicator = NO;
    [self.view addSubview:_ScrollView];
    
    _Logoimage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"logoy.png"]];
    _Logoimage.frame = CGRectMake(80, 30, 254/1.5, 153/1.5);
    [_ScrollView addSubview:_Logoimage];
    
    
    _PhoneNumberTextField = [[UITextField alloc]initWithFrame:CGRectMake(10, 130, 300, 50)];
    _PhoneNumberTextField.placeholder = @"电话号码";
    UIImageView * usernameImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 46/1.5, 46/1.5)];
    usernameImage.image = [UIImage imageNamed:@"用户名"];
    _PhoneNumberTextField.leftView = usernameImage;
    _PhoneNumberTextField.delegate = self;
    
    
    UIImage * frame_Bg = [UIImage imageNamed:@"put_bg"];
    UIImage * background =  [frame_Bg resizableImageWithCapInsets : UIEdgeInsetsMake(5, 5, 5, 5)];
    _PhoneNumberTextField.background = background;
    _PhoneNumberTextField.keyboardType = UIKeyboardTypeNumberPad;
    _PhoneNumberTextField.leftViewMode = UITextFieldViewModeAlways;
    [_ScrollView addSubview: _PhoneNumberTextField];
    
    _PasswordTextField = [[UITextField alloc]initWithFrame:CGRectMake(10, 179, 300, 50)];
    _PasswordTextField.placeholder = @"6-32位";
    _PasswordTextField.background = background;
    UIImageView * passwordImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 46/1.5, 46/1.5)];
    passwordImage.image = [UIImage imageNamed:@"密码"];
    _PasswordTextField.leftView = passwordImage;
    _PasswordTextField.delegate = self;
    _PasswordTextField.keyboardType = UIKeyboardTypeDefault;
    
    _PasswordTextField.leftViewMode = UITextFieldViewModeAlways;
    [_ScrollView addSubview:_PasswordTextField];
    
    _RegisterButton = [[UIButton alloc]initWithFrame:CGRectMake(20, 280, 100, 50)];
    [_RegisterButton setBackgroundImage:[UIImage imageNamed:@"button_norlogn.png"] forState:UIControlStateNormal];
    [_RegisterButton setTitle:@"注册" forState:UIControlStateNormal];
    [_RegisterButton addTarget:self action:@selector(RegisterAction) forControlEvents:UIControlEventTouchUpInside];
    [_ScrollView addSubview:_RegisterButton];
    
    _Log_inButton = [[UIButton alloc]initWithFrame:CGRectMake(200, 280, 100, 50)];
    [_Log_inButton setBackgroundImage:[UIImage imageNamed:@"button_focuslogn"] forState:UIControlStateNormal];
    [_Log_inButton setTitle:@"登录" forState:UIControlStateNormal];
    [_Log_inButton addTarget:self action:@selector(Log_inAction) forControlEvents:UIControlEventTouchUpInside];
    [_ScrollView addSubview:_Log_inButton];
    
    UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(TapAction)];
    [_ScrollView addGestureRecognizer:tap];
    
}

-(void)RegisterAction{
    ViewController_Register * Register_VC = [[ViewController_Register alloc]init];
    [self.navigationController pushViewController:Register_VC animated:YES];
}

-(BOOL)textFieldShouldReturn:(UITextField *)textField{
    [_PhoneNumberTextField resignFirstResponder];
    if (textField == _PhoneNumberTextField) {
        [_PhoneNumberTextField resignFirstResponder];
        [_PasswordTextField becomeFirstResponder];
    }else{
        [_PhoneNumberTextField resignFirstResponder];
        [_PasswordTextField resignFirstResponder];
    }
    return YES;
}

-(void)TapAction{
    [_PhoneNumberTextField resignFirstResponder];
    [_PasswordTextField resignFirstResponder];
}

-(void)Log_inAction{
    UserInfo * userinfo = [UserInfo getUserInfo];
    
    if ([_PhoneNumberTextField.text isEqualToString:userinfo.name] && [_PasswordTextField.text isEqualToString:userinfo.password]) {
        ViewController_Log_in * vc = [[ViewController_Log_in alloc]init];
        [self.navigationController pushViewController:vc animated:YES];
    }else{
        UIAlertView * AlerView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"电话号码或者密码输入不正确" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
        [AlerView show];
    }
}

-(void)zhuceAction{
    ViewController_Register * vc = [[ViewController_Register alloc]init];
    [self.navigationController pushViewController:vc animated:YES];
}

4,跳转到注册页面的代码



.h文件 

@property(retain,nonatomic)UITextField * Register_PhoneNumberTextField;
@property(retain,nonatomic)UITextField * Register_PasswordTextField;
@property(retain,nonatomic)UITextField * Register_Password_AgainTextField;
@property(retain,nonatomic)UIScrollView * Register_ScrollView;

@property(retain,nonatomic)UIButton * Register_RegisterButton;
@property(retain,nonatomic)UIButton * Register_Log_inButton;

@property(retain,nonatomic)UIAlertView * AlertView3;

.m文件

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    self.title = @"注册";
    
    _Register_ScrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];
    _Register_ScrollView.delegate = self;
    _Register_ScrollView.contentSize = CGSizeMake(320, 600);
    _Register_ScrollView.showsVerticalScrollIndicator = NO;
    [self.view addSubview:_Register_ScrollView];
    
    _Register_PhoneNumberTextField = [[UITextField alloc]initWithFrame:CGRectMake(10, 20, 300, 50)];
    UIImageView * usernameImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 46/1.5, 46/1.5)];
    usernameImage.image = [UIImage imageNamed:@"用户名"];
    _Register_PhoneNumberTextField.leftView = usernameImage;
    _Register_PhoneNumberTextField.placeholder = @"手机号码";
    _Register_PhoneNumberTextField.delegate = self;
    _Register_PhoneNumberTextField.keyboardType = UIKeyboardTypeDefault;
    _Register_PhoneNumberTextField.borderStyle = UITextBorderStyleLine;
    _Register_PhoneNumberTextField.leftViewMode = UITextFieldViewModeAlways;
    [_Register_ScrollView addSubview: _Register_PhoneNumberTextField];
    
    _Register_PasswordTextField = [[UITextField alloc]initWithFrame:CGRectMake(10, 49+20, 300, 50)];
    UIImageView * passwordImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 46/1.5, 46/1.5)];
    passwordImage.image = [UIImage imageNamed:@"密码.png"];
    _Register_PasswordTextField.leftView = passwordImage;
    _Register_PasswordTextField.placeholder = @"输入6-32位";
    _Register_PasswordTextField.delegate = self;
    _Register_PasswordTextField.keyboardType = UIKeyboardTypeDefault;
    _Register_PasswordTextField.borderStyle = UITextBorderStyleLine;
    _Register_PasswordTextField.leftViewMode = UITextFieldViewModeAlways;
    [_Register_ScrollView addSubview: _Register_PasswordTextField];
    
    _Register_Password_AgainTextField = [[UITextField alloc]initWithFrame:CGRectMake(10, 100+18, 300, 50)];
    UIImageView * passAgainwordImage = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 46/1.5, 46/1.5)];
    passAgainwordImage.image = [UIImage imageNamed:@"密码.png"];
    _Register_Password_AgainTextField.leftView = passAgainwordImage;
    _Register_Password_AgainTextField.placeholder = @"再次输入密码";
    _Register_Password_AgainTextField.delegate = self;
    _Register_Password_AgainTextField.keyboardType = UIKeyboardTypeDefault;
    _Register_Password_AgainTextField.borderStyle = UITextBorderStyleLine;
    _Register_Password_AgainTextField.leftViewMode = UITextFieldViewModeAlways;
    [_Register_ScrollView addSubview: _Register_Password_AgainTextField];
    
    UILabel * label1 = [[UILabel alloc]initWithFrame:CGRectMake(10, 165, 300, 50)];
    label1.text = @"手机号码仅作身份验证";
    [_Register_ScrollView addSubview:label1];
    
    
    _Register_RegisterButton = [[UIButton alloc]initWithFrame:CGRectMake(20, 230, 100, 50)];
    [_Register_RegisterButton setBackgroundImage:[UIImage imageNamed:@"button_norlogn"] forState:UIControlStateNormal];
    [_Register_RegisterButton setTitle:@"取消" forState:UIControlStateNormal];
    [_Register_RegisterButton addTarget:self action:@selector(RegisterAction) forControlEvents:UIControlEventTouchUpInside];
    [_Register_ScrollView addSubview:_Register_RegisterButton];
    
    _Register_Log_inButton = [[UIButton alloc]initWithFrame:CGRectMake(200, 230, 100, 50)];
    [_Register_Log_inButton setBackgroundImage:[UIImage imageNamed:@"button_focuslogn"] forState:UIControlStateNormal];
    [_Register_Log_inButton setTitle:@"确定" forState:UIControlStateNormal];
    [_Register_Log_inButton addTarget:self action:@selector(Log_inAction) forControlEvents:UIControlEventTouchUpInside];
    [_Register_ScrollView addSubview:_Register_Log_inButton];
    
    UIImageView * min_image = [[UIImageView alloc]initWithFrame:CGRectMake(10, 300+50+15+10, 20, 20)];
    min_image.image = [UIImage imageNamed:@"注册-副本_15"];
    [_Register_ScrollView addSubview:min_image];
    
    UILabel * label2 = [[UILabel alloc]initWithFrame:CGRectMake(35, 300+50+10, 300, 50)];
    label2.text = @"如果你已经注册养车邦,请直接登录";
    [_Register_ScrollView addSubview:label2];
    
    UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(TapAction)];
    [_Register_ScrollView addGestureRecognizer:tap];
    
    
}

-(void)TapAction{
    [_Register_PhoneNumberTextField resignFirstResponder];
    [_Register_Password_AgainTextField resignFirstResponder];
    [_Register_PasswordTextField resignFirstResponder];
}

-(BOOL)textFieldShouldReturn:(UITextField *)textField{
    if (textField == _Register_PhoneNumberTextField) {
        [_Register_PasswordTextField becomeFirstResponder];
        [_Register_Password_AgainTextField resignFirstResponder];
        [_Register_PhoneNumberTextField resignFirstResponder];
    }else if (textField == _Register_PasswordTextField){
        [_Register_PhoneNumberTextField resignFirstResponder];
        [_Register_PasswordTextField resignFirstResponder];
        [_Register_Password_AgainTextField becomeFirstResponder];
    }else{
        [_Register_PhoneNumberTextField resignFirstResponder];
        [_Register_Password_AgainTextField resignFirstResponder];
        [_Register_PasswordTextField resignFirstResponder];
    }
    return YES;
}

-(void)RegisterAction{
    ViewController * vc = [[ViewController alloc]init];
    [self.navigationController pushViewController:vc animated:YES];
}

-(void)Log_inAction{
    if ([_Register_PhoneNumberTextField.text isEqualToString:@""]) {
        UIAlertView * AlertView1 = [[UIAlertView alloc]initWithTitle:@"提示" message:@"手机号码不能为空" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];
        [AlertView1 show];
    }else if (![_Register_PasswordTextField.text isEqualToString: _Register_Password_AgainTextField.text]){
        UIAlertView * AlertView2 = [[UIAlertView alloc]initWithTitle:@"提示" message:@"两次输入的密码不一致" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];
        [AlertView2 show];
    }else{
        _AlertView3 = [[UIAlertView alloc]initWithTitle:@"提示" message:@"注册成功" delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
        [_AlertView3 show];
    }
}

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
    if (alertView == _AlertView3) {
        NSLog(@"---->%d",buttonIndex);
        
        UserInfo * userinfo = [UserInfo getUserInfo];
        userinfo.name = _Register_PhoneNumberTextField.text;
        userinfo.password = _Register_Password_AgainTextField.text;
        
    }
}

6,创建一个代理模式

.h文件

@property(retain,nonatomic)NSString * name;
@property(retain,nonatomic)NSString * password;

+(UserInfo *)getUserInfo;

.m文件实现类方法

@implementation UserInfo

static UserInfo * userinfo;

+(UserInfo *)getUserInfo{
    if (userinfo == nil) {
        userinfo = [[UserInfo alloc]init];
    }
    return userinfo;
}

@end


7.登录后显示的界面

.h文件

@property(retain,nonatomic)UILabel * Name_Label;
@property(retain,nonatomic)UILabel * Password_Label;

.m文件

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    self.view.backgroundColor = [UIColor whiteColor];
    
    UserInfo * userinfo = [UserInfo getUserInfo];
    
    self.title = @"用户列表";
    
    _Name_Label = [[UILabel alloc]initWithFrame:CGRectMake(10, 50, 300, 50)];
    _Name_Label.text = [NSString stringWithFormat:@"Name:%@",userinfo.name];
    _Name_Label.backgroundColor = [UIColor orangeColor];
    [self.view addSubview:_Name_Label];
    
    _Password_Label = [[UILabel alloc]initWithFrame:CGRectMake(10, 150, 300, 50)];
    _Password_Label.text = [NSString stringWithFormat:@"Password:%@",userinfo.password];
    _Password_Label.backgroundColor = [UIColor orangeColor];
    [self.view addSubview:_Password_Label];

}

代码下载:http://download.csdn.net/detail/zhangyuanlaifen/8705741


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值