单例传值(三个界面)
来源:互联网 发布:视频剪辑软件推荐 编辑:程序博客网 时间: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;
- (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
- 单例传值(三个界面)
- MFC 视图-OpenGL场景-CDialogBar三个界面保存为图片
- UI09_多种UITableView(一个界面出现三个tableView,省市区数组)
- 从网络解析数据并实现三个界面的跳转
- BCG界面控件三个产品的功能比较
- 在三个或多个界面里边按返回按钮如何回到主界面?singleTask
- 三个
- 三个
- BCG界面控件三个产品的功能比较,供大家参考选择
- BCG界面控件三个产品的功能比较,供大家参考选择(版本2)
- Android4.2.2 Gallery2源码分析(9)——三个界面的跳转
- Android4.2.2 Gallery2源码分析(9)——三个界面的跳转
- ios-day05-06(灵活使用UIScrollView的三个属性:contentSize、contentInset、contentOffset,模仿“喜马拉雅”的界面)
- BCG界面控件三个产品的功能比较,供大家参考选择
- Android4.2.2 Gallery2源码分析(9)——三个界面的跳转
- maven优化依赖的三个命令和eclipse中图像化界面的对应关系
- android 平台搭建学习01--第一个界面的菜单设置及与其他三个界面的相互跳转(天气预报系统)
- IOS开发 两、三个界面相互传值,类似android的onActivityResult(拍照上传、预览图片、点击查看、删除)
- 枚举使用误区--iOS开发
- ios 数组赋值时取不到 数组赋值为空 奇葩问题
- 【golang】信号捕捉和处理
- Win32多窗口程序的创建
- Xcode导入静态库有时会出现莫名其妙的问题
- 单例传值(三个界面)
- 四十三、继承与派生:赋值兼容性规则
- 【STL源码剖析读书笔记】【第4章】序列式容器之heap和priority_queue
- jqgrid 4.8版本 Cannot read property 'decimalSeparator' of undefined 错误
- html css学习笔记-详解各种选择器
- 社説 20150516 財政健全化計画 成長頼みが過ぎては危うい
- SVM核函数
- Spark+Scala课程包
- 排序算法(Max_Heap_Sort最大堆排序)