单例传值(三个界面)

来源:互联网 发布:视频剪辑软件推荐 编辑:程序博客网 时间:2024/04/28 15:50

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 UserInfostatic 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