2013-8-12练习[制作一个具有UIAlertView和UIActionSheet的登陆界面]

创建登陆窗口(有用户名和密码),确认后弹出对话框再输入一遍,如果都相同,显示用户图片,如果不相同,弹出上拉菜单(UIActionSheet),问是否重新输入,是的话弹出对话框重新输入。

效果图:


viewController.h:

// //  DXWViewController.h //  2013-8-12作业 // //  Created by 丁小未 on 13-8-12. //  Copyright (c) 2013年 dingxiaowei. All rights reserved. //  #import <UIKit/UIKit.h>  @interface DXWViewController : UIViewController<UIAlertViewDelegate,UIActionSheetDelegate> @property (retain, nonatomic) IBOutlet UITextField *lblName; @property (retain, nonatomic) IBOutlet UITextField *lblPassword; - (IBAction)Check:(id)sender; @property (retain, nonatomic) IBOutlet UIImageView *image; - (IBAction)clickKeyBoardReturn:(id)sender; @property (retain, nonatomic) IBOutlet UILabel *lblState;  @end

ViewController.m:

// //  DXWViewController.m //  2013-8-12作业 // //  Created by 丁小未 on 13-8-12. //  Copyright (c) 2013年 dingxiaowei. All rights reserved. //  #import "DXWViewController.h" #import "MyDelegate.h" NSString *nameT; NSString *pwdT; @interface DXWViewController ()  @end  @implementation DXWViewController  - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {     if(buttonIndex == 0)     {        NSLog(@"重试");         UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"身份验证" message:@"请输入用户名和密码" delegate:self cancelButtonTitle:@"登陆" otherButtonTitles:@"取消",nil];         alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;                  [alert show];         [alert release];     }     else if(buttonIndex == 1)     {         NSLog(@"取消");     } }  //实现协议 - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {     NSLog(@"didDismissWithButtonIndex %d",buttonIndex);     NSLog(@"%@",[alertView textFieldAtIndex:0].text);     NSLog(@"%@",[alertView textFieldAtIndex:1].text);     nameT = [alertView textFieldAtIndex:0].text;     pwdT = [alertView textFieldAtIndex:1].text;     NSString *na = self.lblName.text;     NSString *pw = self.lblPassword.text;     if (buttonIndex == 0) {     //相同为0,不同为-1     if ([nameT compare:na]==0 && [pwdT compare:pw]==0)     {         //登陆成功显示图片         NSLog(@"登陆成功!");         self.lblState.text = @"登陆成功,酷狗来也!";         self.image.hidden = false;         self.lblState.hidden = false;     }     else     {         self.image.hidden = true;         self.lblState.text = @"登陆失败!";         self.lblState.hidden = false;         NSLog(@"登陆失败!");          UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"选择框" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"重试" otherButtonTitles:nil];         sheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;         [sheet showInView:self.view];      }     }     else if(buttonIndex == 1)     {                  NSLog(@"取消");     } }   - (void)viewDidLoad {     [super viewDidLoad]; 	self.image.hidden = YES;//将头像图片隐藏     [self.lblName becomeFirstResponder];//设置为第一响应者     self.lblState.hidden = YES;//隐藏消息栏 }  - (void)didReceiveMemoryWarning {     [super didReceiveMemoryWarning];      }  - (void)dealloc {     [_lblName release];     [_lblPassword release];     [_image release];     [_lblState release];     [super dealloc]; }  - (IBAction)Check:(id)sender { //    MyDelegate *delegate = [[MyDelegate alloc]init];      UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"身份验证" message:@"请输入用户名和密码" delegate:self cancelButtonTitle:@"登陆" otherButtonTitles:@"取消",nil];     alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;          [alert show];     [alert release];  } - (IBAction)clickKeyBoardReturn:(id)sender {     [self.lblName resignFirstResponder];     [self.lblPassword resignFirstResponder];      } @end 

如果允许让屏幕横屏:

//是否可以自动横屏 -(BOOL)shouldAutorotate {     return YES; } //可以各个方向横屏 -(NSUInteger)supportedInterfaceOrientations {     return UIInterfaceOrientationMaskAll; }

//每当屏幕旋转的时候都会触发一个

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

{

    //如果是是横屏状态

    if(toInterfaceOrientation ==UIInterfaceOrientationLandscapeLeft ||toInterfaceOrientation ==UIInterfaceOrientationLandscapeRight)

    {

    }

    else

    {

    }


如果要设置系统启动时就是横屏,可以修改plist文件Supportd interface orientations的Item的顺序,如果item0是横屏,那就是横屏启动,在项目运行的时候,可以点击command+左右键

项目源文件:http://download.csdn.net/detail/s10141303/5923513

你可能感兴趣的:(2013-8-12练习[制作一个具有UIAlertView和UIActionSheet的登陆界面])