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















本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366437,如需转载请自行联系原作者

相关文章
|
2天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1292 1
|
9天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
697 4
|
2天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
537 2
|
3天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
|
2天前
|
存储 弹性计算 安全
阿里云服务器4核8G收费标准和活动价格参考:u2a实例898.20元起,计算型c9a3459.05元起
现在租用阿里云服务器4核8G价格是多少?具体价格及配置详情如下:云服务器ECS通用算力型u2a实例,配备4核8G配置、1M带宽及40G ESSD云盘(作为系统盘),其活动价格为898.20元/1年起;此外,ECS计算型c9a实例4核8G配置搭配20G ESSD云盘,活动价格为3459.05元/1年起。在阿里云的当前活动中,4核8G云服务器提供了多种实例规格供用户选择,不同实例规格及带宽的组合将带来不同的优惠价格。本文为大家解析阿里云服务器4核8G配置的实例规格收费标准与最新活动价格情况,以供参考。
232 150
|
9天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
355 164