新建一个工程,实现登陆系统,即登陆页面、注册页面、找回密码页面之间的切换。

1、创建视图对象loginContainerView(登陆页面),registContainerView(注册页面),passwordContainerView(找回密码页面),将3个视图作为window的子视图。默认显示登陆页面。

2、点击登陆页面的登陆按钮,验证是否登陆成功。

3、点击登陆页面的找回密码按钮,切换显示找回密码页面。

4、点击登陆页面的注册按钮,切换显示注册页面。

5、点击找回密码页面的取消按钮,切换返回登陆页面。

6、点击注册页面的取消按钮,却换返回登陆页面。


#import"AppDelegate.h"@interfaceAppDelegate()@end@implementationAppDelegate-(void)dealloc{[_windowrelease];[superdealloc];}-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{//Overridepointforcustomizationafterapplicationlaunch.self.window=[[[UIWindowalloc]initWithFrame:[[UIScreenmainScreen]bounds]]autorelease];self.window.backgroundColor=[UIColorwhiteColor];[self.windowmakeKeyAndVisible];//创建注册页面[selfcreatRegisterView];//创建找回密码页面[selfcreatFindPassView];//创建登陆页面[selfcreatLoginView];returnYES;}-(void)creatLoginView{//登陆页面UIView*loginView=[[UIViewalloc]initWithFrame:_window.frame];loginView.tag=1000;loginView.backgroundColor=[UIColorwhiteColor];[self.windowaddSubview:loginView];[loginViewrelease];//用户名labelUILabel*userNameLabel=[[UILabelalloc]initWithFrame:CGRectMake(40,100,80,30)];userNameLabel.text=@"用户名";userNameLabel.backgroundColor=[UIColorwhiteColor];[loginViewaddSubview:userNameLabel];[userNameLabelrelease];//密码labelUILabel*passLabel=[[UILabelalloc]initWithFrame:CGRectMake(40,150,80,30)];passLabel.text=@"密码";passLabel.backgroundColor=[UIColorwhiteColor];[loginViewaddSubview:passLabel];[passLabelrelease];//用户名textFieldUITextField*userNameTF=[[UITextFieldalloc]initWithFrame:CGRectMake(130,100,200,30)];userNameTF.tag=1001;userNameTF.placeholder=@"请输入用户名";userNameTF.clearButtonMode=UITextFieldViewModeAlways;userNameTF.borderStyle=UITextBorderStyleRoundedRect;[loginViewaddSubview:userNameTF];userNameTF.keyboardType=UIKeyboardTypeDefault;//键盘类型userNameTF.returnKeyType=UIReturnKeyDone;//设置代理userNameTF.delegate=self;[userNameTFrelease];//密码textFieldUITextField*passTF=[[UITextFieldalloc]initWithFrame:CGRectMake(130,150,200,30)];passTF.tag=1002;passTF.placeholder=@"请输入密码";passTF.secureTextEntry=YES;passTF.clearButtonMode=UITextFieldViewModeAlways;passTF.borderStyle=UITextBorderStyleRoundedRect;[loginViewaddSubview:passTF];passTF.delegate=self;//代理[passTFrelease];//登陆buttonUIButton*loginButton=[UIButtonbuttonWithType:UIButtonTypeSystem];loginButton.frame=CGRectMake(40,200,80,30);loginButton.backgroundColor=[UIColorwhiteColor];loginButton.titleLabel.font=[UIFontsystemFontOfSize:18];//字号loginButton.backgroundColor=[UIColorwhiteColor];[loginButtonsetTitle:@"登陆"forState:UIControlStateNormal];//[loginButtonaddTarget:selfaction:@selector(pushLoginView)forControlEvents:UIControlEventTouchUpInside];[loginButtonaddTarget:selfaction:@selector(pushLogin)forControlEvents:UIControlEventTouchUpInside];[loginViewaddSubview:loginButton];//注册buttonUIButton*registerButton=[UIButtonbuttonWithType:UIButtonTypeSystem];registerButton.frame=CGRectMake(150,200,80,30);registerButton.titleLabel.font=[UIFontsystemFontOfSize:18];registerButton.backgroundColor=[UIColorwhiteColor];[registerButtonsetTitle:@"注册"forState:UIControlStateNormal];[registerButtonaddTarget:selfaction:@selector(pushRegister)forControlEvents:UIControlEventTouchUpInside];[loginViewaddSubview:registerButton];//找回密码buttonUIButton*findPassButton=[UIButtonbuttonWithType:UIButtonTypeSystem];findPassButton.frame=CGRectMake(260,200,80,30);findPassButton.titleLabel.font=[UIFontsystemFontOfSize:18];findPassButton.backgroundColor=[UIColorwhiteColor];[findPassButtonsetTitle:@"找回密码"forState:UIControlStateNormal];[findPassButtonaddTarget:selfaction:@selector(pushFindPass)forControlEvents:UIControlEventTouchUpInside];[loginViewaddSubview:findPassButton];}-(void)pushLoginView{//找到登陆界面UIView*loginView=[_windowviewWithTag:1000];//登陆页面提前[_windowbringSubviewToFront:loginView];}-(void)pushRegister{UIView*registerView=[_windowviewWithTag:1003];[_windowbringSubviewToFront:registerView];}-(void)pushFindPass{UIView*findPassView=[_windowviewWithTag:1004];[_windowbringSubviewToFront:findPassView];}-(void)pushLogin{//登陆界面UIView*loginView=[_windowviewWithTag:1000];//登陆页面上用户名输入框UITextField*userTextField=(UITextField*)[loginViewviewWithTag:1001];//登陆页面上的密码输入框UITextField*passTextField=(UITextField*)[loginViewviewWithTag:1002];if(userTextField.text.length==0){UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"提示"message:@"用户名不能为空"delegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil];[alertViewshow];[alertViewrelease];}elseif(passTextField.text.length==0){UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"提示"message:@"密码不能为空"delegate:nilcancelButtonTitle:@"确定"otherButtonTitles:nil];[alertViewshow];[alertViewrelease];}elseif([userTextField.textisEqualToString:@"lanou"]==1&&[passTextField.textisEqualToString:@"12345"]==1){UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"提示"message:@"登陆成功"delegate:nilcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil];[alertViewshow];[alertViewrelease];}else{UIAlertView*alertView=[[UIAlertViewalloc]initWithTitle:@"提示"message:@"用户名或者密码错误,请核对后再试"delegate:nilcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil];[alertViewshow];[alertViewrelease];}}-(void)creatRegisterView{//注册界面UIView*registerView=[[UIViewalloc]initWithFrame:self.window.frame];registerView.tag=1003;registerView.backgroundColor=[UIColorwhiteColor];[self.windowaddSubview:registerView];[registerViewrelease];//label的创建NSArray*array=@[@"用户名",@"密码",@"确定密码",@"电话",@"邮箱",@"地址"];for(NSIntegeri=0;i<6;i++){UILabel*label=[[UILabelalloc]initWithFrame:CGRectMake(40,80+60*i,90,40)];label.text=[NSStringstringWithFormat:@"%@:",array[i]];label.textAlignment=NSTextAlignmentRight;label.font=[UIFontsystemFontOfSize:20];label.backgroundColor=[UIColorwhiteColor];[registerViewaddSubview:label];[labelrelease];//textField的创建UITextField*textField=[[UITextFieldalloc]initWithFrame:CGRectMake(160,80+60*i,160,40)];textField.font=[UIFontsystemFontOfSize:20];textField.placeholder=[NSStringstringWithFormat:@"请输入%@",array[i]];if(i==2){textField.placeholder=@"请再次输入密码";}textField.backgroundColor=[UIColorwhiteColor];textField.borderStyle=UITextBorderStyleRoundedRect;[registerViewaddSubview:textField];textField.delegate=self;//代理[textFieldrelease];}//注册buttonUIButton*loginButton=[UIButtonbuttonWithType:UIButtonTypeSystem];loginButton.frame=CGRectMake(70,500,100,30);loginButton.backgroundColor=[UIColorwhiteColor];loginButton.titleLabel.font=[UIFontsystemFontOfSize:18];[loginButtonsetTitle:@"注册"forState:UIControlStateNormal];[registerViewaddSubview:loginButton];//取消buttonUIButton*cancelButton=[UIButtonbuttonWithType:UIButtonTypeSystem];cancelButton.frame=CGRectMake(200,500,100,30);cancelButton.backgroundColor=[UIColorwhiteColor];cancelButton.titleLabel.font=[UIFontsystemFontOfSize:18];[cancelButtonsetTitle:@"取消"forState:UIControlStateNormal];[cancelButtonaddTarget:selfaction:@selector(pushLoginView)forControlEvents:UIControlEventTouchUpInside];//跳转页面[registerViewaddSubview:cancelButton];}-(void)creatFindPassView{//找回密码界面UIView*findPassView=[[UIViewalloc]initWithFrame:_window.frame];findPassView.tag=1004;findPassView.backgroundColor=[UIColorwhiteColor];[_windowaddSubview:findPassView];[findPassViewrelease];//邮箱textfieldUITextField*mailTextField=[[UITextFieldalloc]initWithFrame:CGRectMake(80,80,250,40)];mailTextField.backgroundColor=[UIColorwhiteColor];mailTextField.font=[UIFontsystemFontOfSize:20];mailTextField.placeholder=@"请输入电子邮箱";mailTextField.borderStyle=UITextBorderStyleRoundedRect;[findPassViewaddSubview:mailTextField];mailTextField.delegate=self;//代理[mailTextFieldrelease];//返回ButtonUIButton*backButton=[UIButtonbuttonWithType:UIButtonTypeSystem];backButton.frame=CGRectMake(80,150,100,40);backButton.backgroundColor=[UIColorwhiteColor];backButton.titleLabel.font=[UIFontsystemFontOfSize:18];[backButtonsetTitle:@"找回"forState:UIControlStateNormal];[findPassViewaddSubview:backButton];//取消buttonUIButton*cancelButton=[UIButtonbuttonWithType:UIButtonTypeSystem];cancelButton.frame=CGRectMake(220,150,100,40);cancelButton.backgroundColor=[UIColorwhiteColor];cancelButton.titleLabel.font=[UIFontsystemFontOfSize:18];[cancelButtonsetTitle:@"取消"forState:UIControlStateNormal];[cancelButtonaddTarget:selfaction:@selector(pushLoginView)forControlEvents:UIControlEventTouchUpInside];//跳转页面[findPassViewaddSubview:cancelButton];}//收回键盘-(BOOL)textFieldShouldReturn:(UITextField*)textField{[textFieldresignFirstResponder];returnYES;}-(void)applicationWillResignActive:(UIApplication*)application{//Sentwhentheapplicationisabouttomovefromactivetoinactivestate.Thiscanoccurforcertaintypesoftemporaryinterruptions(suchasanincomingphonecallorSMSmessage)orwhentheuserquitstheapplicationanditbeginsthetransitiontothebackgroundstate.//Usethismethodtopauseongoingtasks,disabletimers,andthrottledownOpenGLESframerates.Gamesshouldusethismethodtopausethegame.}-(void)applicationDidEnterBackground:(UIApplication*)application{//Usethismethodtoreleasesharedresources,saveuserdata,invalidatetimers,andstoreenoughapplicationstateinformationtorestoreyourapplicationtoitscurrentstateincaseitisterminatedlater.//Ifyourapplicationsupportsbackgroundexecution,thismethodiscalledinsteadofapplicationWillTerminate:whentheuserquits.}-(void)applicationWillEnterForeground:(UIApplication*)application{//Calledaspartofthetransitionfromthebackgroundtotheinactivestate;hereyoucanundomanyofthechangesmadeonenteringthebackground.}-(void)applicationDidBecomeActive:(UIApplication*)application{//Restartanytasksthatwerepaused(ornotyetstarted)whiletheapplicationwasinactive.Iftheapplicationwaspreviouslyinthebackground,optionallyrefreshtheuserinterface.}-(void)applicationWillTerminate:(UIApplication*)application{//Calledwhentheapplicationisabouttoterminate.Savedataifappropriate.SeealsoapplicationDidEnterBackground:.}@end