UIActionSheet,UIAlertView技术分享

UIActionSheet

[objc] view plaincopy

  1. #import "FirstViewController.h"
  2. @interface FirstViewController ()<UIActionSheetDelegate,UIAlertViewDelegate>
  3. @property (retain, nonatomic) IBOutlet UILabel *aLabel;
  4. @property (retain, nonatomic) IBOutlet UITextField *textField;
  5. @end
  6. @implementation FirstViewController
  7. - (void)viewDidLoad {
  8. [super viewDidLoad];
  9. // Do any additional setup after loading the view from its nib.
  10. }
  11. - (IBAction)upButton:(UIButton *)sender {
  12. //UIActionSheet
  13. UIActionSheet *sheet = [[UIActionSheet alloc]initWithTitle:@"选择" delegate:self cancelButtonTitle:@"取消按钮" destructiveButtonTitle:@"确认按钮" otherButtonTitles:nil, nil nil];
  14. sheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;
  15. //      更改标题
  16. sheet.title = @"请点击您的选择";
  17. //    添加按钮
  18. //添加的按钮位置从第三个算起
  19. [sheet addButtonWithTitle:@"添加的按钮"];
  20. //红色按钮位置
  21. sheet.destructiveButtonIndex = 0;
  22. [sheet showInView:self.view];
  23. [sheet release];
  24. //UIAlertView
  25. //一般来说,根据苹果官方制定的《iOS 用户界面指南》,在拥有两个按钮的对话框中,您应当将取消按钮放在左边
  26. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"是否已满十八岁?"  delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil nil];
  27. alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
  28. //UIAlertViewStyleDefault 默认风格,无输入框
  29. //UIAlertViewStyleSecureTextInput 带一个密码输入框
  30. //UIAlertViewStylePlainTextInput 带一个文本输入框
  31. //UIAlertViewStyleLoginAndPasswordInput 带一个文本输入框,一个密码输入框
  32. [alert show];
  33. [alert release];
  34. }

第一种 ActionSheet单独使用

[objc] view plaincopy

  1. //第一种 ActionSheet单独使用
  2. //接收ActionSheet点击事件
  3. //该方式由UIActionSheetDelegate协议定义,点击ActionSheet的按钮后自动执行
  4. - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{
  5. switch (buttonIndex) {
  6. case 0:
  7. self.aLabel.text = self.textField.text;
  8. break;
  9. case 1:
  10. break;
  11. case 2:
  12. NSLog(@"让你点你还真点");
  13. break;
  14. default:
  15. break;
  16. }
  17. }

第二种,单独使用UIAlertView

[objc] view plaincopy

  1. //接收UIAlertView点击事件
  2. -(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
  3. {
  4. switch (buttonIndex) {
  5. case 0:
  6. break;
  7. case 1:
  8. self.aLabel.text = self.textField.text;
  9. break;
  10. default:
  11. break;
  12. }
  13. }

第三种混合使用

[objc] view plaincopy

  1. - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{
  2. NSString *string=[NSString stringWithFormat:@"你选择了 %@",[actionSheet buttonTitleAtIndex:buttonIndex]];
  3. UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"输入账户和密码" message:string  delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil nil];
  4. alert.alertViewStyle = UIAlertViewStyleLoginAndPasswordInput;
  5. //UIAlertViewStyleDefault 默认风格,无输入框
  6. //UIAlertViewStyleSecureTextInput 带一个密码输入框
  7. //UIAlertViewStylePlainTextInput 带一个文本输入框
  8. //UIAlertViewStyleLoginAndPasswordInput 带一个文本输入框,一个密码输入框
  9. switch (buttonIndex) {
  10. case 0:
  11. [alert show];
  12. break;
  13. case 1:
  14. break;
  15. default:
  16. break;
  17. }
  18. [alert release];
  19. }

[objc] view plaincopy

    1. - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
    2. {
    3. //该方法由UIAlertViewDelegate协议定义,在点击AlertView按钮时自动执行,所以如果这里再用alertView来弹出提示,就会死循环,不停的弹AlertView
    4. //    NSString * string=[NSString stringWithFormat:@"你点击了 %@",[alertView buttonTitleAtIndex:buttonIndex]];
    5. NSString * string=[NSString stringWithFormat:@"你点击了 %@",[alertView buttonTitleAtIndex:buttonIndex]];
    6. switch (buttonIndex) {
    7. case 0:
    8. break;
    9. case 1:
    10. self.aLabel.text = self.textField.text;
    11. break;
    12. default:
    13. break;
    14. }
    15. //    UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"提示" message:string delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
    16. //        [alert show];
    17. NSLog(@"%@",string);
    18. //    NSLog(@"输入 %@",[[alertView textFieldAtIndex:0] text]);
    19. //获取第一个文本框输入的文本,如果没有文件框,会异常,索引从0开始
    20. }
    21. [objc] view plaincopy

      1. <span style="background-color: rgb(255, 0, 0);"><span style="color:#99ff99;">最终效果:</span></span>
时间: 2024-10-01 03:20:58

UIActionSheet,UIAlertView技术分享的相关文章

感知开源的力量-APICloud Studio开源技术分享会

2014.9.15 中国领先的"云端一体"移动应用云服务提供商APICloud正式发布 2015.9.15,APICloud上线一周年,迎来第一个生日 这一天,APICloud 举办APICloud Studio开源技术分享会 我们将对APICloud Studio进行技术开源的全面解析, APICloud Studio遵循Aptana3.0 GPL开源协议,源代码以无条件继承GPL开源协议的方式贡献给业界. 我们相信,通过开源技术分享,我们将和广大开发者一起,不断扩展主流HTML开发

Coding for Speed 技术分享

上周和公司技术同事们作了次<Coding for Speed>技术分享,本来这只是再普通不过的技术探讨和交流(虽然挂了个颇有噱头的名称),但分享的时候逻辑没理好,语速很快,时间也太紧,因此难言是合格的"分享"."探讨",所以我觉得有必要以简短的文章形式对原 PPT 作点补充,即便分享的内容很少也很简单. 本文将按原 PPT 的内容顺序分别作扩展说明或阐述,部分敏感信息将隐去,或只会简单提及. 作本技术分享的初衷,一是在工作中了解及接触了一些我个人认为可优

技术分享(持续更新)

这次的技术分享跟大家介绍一个出现在Tinder and Potluck中的动画效果实现思路,最贴心的是作者提供了OC和Swift两个版本来供开发者使用. OC:https://github.com/zhxnlai/ZLSwipeableView, Swift:https://github.com/zhxnlai/ZLSwipeableViewSwift 非常丝滑顺畅的效果,童鞋们都来上手实践一下吧~

尖峰7月线上技术分享--Hadoop、MySQL

7月2号晚20:30-22:30 东大博士Dasight分享主题<大数据与Hadoop漫谈> 7月5号晚20:30-22:30  原支付宝MySQL首席DBA分享主题<MySQL发展趋势,MySQL各个分支介绍>.<MySQL 5.6版本特性介绍及如何从MySQL 5.5向MySQL 5.6> 7月10号晚20:30-22:30 东大博士Dasight分享主题<Hadoop与Nosql技术的适用性分析> 7月12号晚20:30-22:30  原支付宝MySQ

GIS技术分享 -- 开篇

本人GIS小生一枚,学习和实践GIS已有一段时间.有一小小的愿望 - 希望能够利用自己从事GIS方面的经历,与大家共勉,让大家认识GIS.了解GIS,最终熟悉GIS技术与未来. 我主要写一些GIS的工程理论和技术,偏开发.现在我想我的线索可能是WebGIS,3DGIS两块内容的分享,所有的内容都会以实际开发一个GIS系统为例,探索相关理论和技术. 声明:本人也是在学习的路上,希望与各位们共同学习,共同进步! GIS技术分享 -- 开篇,布布扣,bubuko.com

【技术分享会】谈谈公司内部的技术分享

这段时间,为了促进程序同事间技术氛围,在公司内部组织开展技术分享会.形式很简单,每周进行一次技术分享:分享人由组员顺序安排:题材不限,可以是自己熟悉的技术,比如说服务端的开发者,分享后端定时器,消息队列等等,前端的开发者分享加载的模式,MVC模式等等,可以是一些通用的技术,比如数据结构,算法,代码风格,Effective 系列,调试技巧等,甚至可以是经典书的读后感等等,抑或是最近大家在研究一个开源的项目,也可以跟大家讲一下这个开源项目的框架:或许有些人利用业余时间做了一个小软件,也可以拿出来分享

【沙龙】2014 天山论剑 首届Oracle数据库技术分享交流沙龙

<2014 天山论剑 首届Oracle数据库技术分享交流沙龙>引言:牛顿说"我之所以成功,是因为我站在巨人的肩膀上".每个人都有思考的盲点,借由别人指出你的盲点,实现自我反省,是成功者具备的品质.遇到问题,不再自我摸索,找教练.你和什么样的人在一起,你就会变成什么样的人.只有改变才会带来改变,要想事情变好,只有你先变好. [活动目的] 为了帮助新疆区域内企业更好地利用数据库技术创造更多的利润,推动新疆地区ORACLE数据库技术在企业中的应用,帮助更多的技术人员提高自身的数据

恒天云技术分享系列4 – OpenStack网络攻击与防御

恒天云技术分享系列:http://www.hengtianyun.com/download-show-id-13.html 云主机的网络结构本质上和传统的网络结构一致,区别大概有两点. 1.软网络管理设备(如nova-network,open switch)部分替代硬件网络设备 . 2.多虚拟服务器共享一个宿主机物理网卡(使用Trunk技术). 那么对于云服务器的安全,我们也可以采用传统的网络安全技术去防御.对于云主机,我们同时也需要做好宿主机的防火墙配置,以及安全设置. 1.对于虚拟机进行虚拟

UWA 技术分享连载 转载

技术分享连载1 Q1:Texture占用内存总是双倍,这个是我们自己的问题,还是Unity引擎的机制? Q2:我现在发现两个因素直接影响Overhead,一个是Shader的复杂度,一个是空Update方法及其同类空方法,不知道是否还有其他因素? Q3:在Unity的内存管理机制中, Reserved Total 和 Used Total之间的关系是怎样的? Q4:纹理Atlas是建议合成一张2048(尺寸)的纹理还是四张1024的纹理? Q5:在把Unity升级到5.3之后,项目中缓存的粒子特