1. 首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegateself,才能使弹出的Alert窗口响应点击事件。
  2.  
  3. 具体代码如下:
  1. #import <UIKit/UIKit.h>
  2.  
  3. @interface ViewController : UIViewController<UIAlertViewDelegate>
  4.  
  5. @end

ViewController.m中的详细代码:

  1. - (void)viewDidLoad
  2. {
  3. [super viewDidLoad];
  4. // Do any additional setup after loading the view from its nib
  5.  
  6. //初始化AlertView
  7. UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AlertViewTest"
  8. message:@"message"
  9. delegate:self
  10. cancelButtonTitle:@"Cancel"
  11. otherButtonTitles:@"OtherBtn",nil];
  12. //设置标题与信息,通常在使用frame初始化AlertView时使用
  13. alert.title = @"AlertViewTitle";
  14. alert.message = @"AlertViewMessage";
  15.  
  16. //这个属性继承自UIView,当一个视图中有多个AlertView时,可以用这个属性来区分
  17. alert.tag = ;
  18. //只读属性,看AlertView是否可见
  19. NSLog(@"%d",alert.visible);
  20. //通过给定标题添加按钮
  21. [alert addButtonWithTitle:@"addButton"];
  22. //按钮总数
  23. NSLog(@"number Of Buttons :%d",alert.numberOfButtons);
  24. //获取指定索引的按钮标题
  25. NSLog(@"buttonTitleAtIndex1:%@",[alert buttonTitleAtIndex:]);
  26. NSLog(@"buttonTitleAtIndex2:%@",[alert buttonTitleAtIndex:]);
  27. //获取取消按钮的索引
  28. NSLog(@"cancelButtonIndex:%d",alert.cancelButtonIndex);
  29. //获取第一个其他按钮的索引
  30. NSLog(@"firstOtherButtonIndex:%d",alert.firstOtherButtonIndex);
  31. //显示AlertView
  32. [alert show];
  33. [alert release];
  34. }
  35.  
  36. #pragma marks -- UIAlertViewDelegate --
  37. //根据被点击按钮的索引处理点击事件
  38. -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
  39. {
  40. NSLog(@"clickButtonAtIndex:%d",buttonIndex);
  41. }
  42.  
  43. //AlertView已经消失时执行的事件
  44. -(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
  45. {
  46. NSLog(@"didDismissWithButtonIndex");
  47. }
  48.  
  49. //ALertView即将消失时的事件
  50. -(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex
  51. {
  52. NSLog(@"willDismissWithButtonIndex");
  53. }
  54.  
  55. //AlertView的取消按钮的事件
  56. -(void)alertViewCancel:(UIAlertView *)alertView
  57. {
  58. NSLog(@"alertViewCancel");
  59. }
  60.  
  61. //AlertView已经显示时的事件
  62. -(void)didPresentAlertView:(UIAlertView *)alertView
  63. {
  64. NSLog(@"didPresentAlertView");
  65. }
  66.  
  67. //AlertView即将显示时
  68. -(void)willPresentAlertView:(UIAlertView *)alertView
  69. {
  70. NSLog(@"willPresentAlertView");
  71. }
  72.  
  73. - (void)viewDidUnload
  74. {
  75. [super viewDidUnload];
  76. // Release any retained subviews of the main view.
  77. // e.g. self.myOutlet = nil;
  78. }

(转) UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法的更多相关文章

  1. 【转】 UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法

    原文网址:http://blog.csdn.net/enuola/article/details/7900346 首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定d ...

  2. UIALertView的基本用法与UIAlertViewDelegate对对话框的事件处理方法

    首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件. 具体代码如下: ViewController. ...

  3. Swift - 告警框(UIAlertView)的用法

    1,下面代码创建并弹出一个告警框,并带有“取消”“确定”两个按钮 (注:自IOS8起,建议使用UIAlertController) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 ...

  4. adb环境配置+常用adb命令+Logcat命令的用法+手动进行文件比对的方法+批量挪bug

    1. adb环境配置:下载adb环境变量包:打开计算机属性-高级系统设置-环境变量:新建变量adb,值为刚才的环境变量包路径:编辑path值,在最后面加上;%adb%;确定就妥了 2. 常用adb命令 ...

  5. 用法:node模块都具备的方法(exports、module、require、__filename、__dirname)

    凡是玩弄nodejs的人,都明白,每一个模块都有exports.module.require.__filename.__dirname的方法 清楚了解方法的用法后,玩转node就等于清楚了日常讲话的内 ...

  6. 【Python—字典的用法】创建字典的3种方法

    #创建一个空字典 empty_dict = dict() print(empty_dict) #用**kwargs可变参数传入关键字创建字典 a = dict(one=1,two=2,three=3) ...

  7. Eclipse用法:自动生成get和set方法

      方法一 Java的类中,除了常量声明为静态且公有的,一般的对象数据作用域,都是声明为私有的.这样做能保护对象的属性不会被随意改变,调试的时候也会方便很多:在类的公有方法中大一个调用栈就能看到哪里改 ...

  8. C#委托的用法 在C#中我想在一个方法中调用另一个按钮的事件,怎样来实现?

    最开始我也不清楚,后来我是这样想了. 1.事件和委托不是一个概念,你如果是调用control的事件,可以直接在其对应的事件eventhandler上attach自己的事件方法就好了如:this.But ...

  9. 如何使用npm的部分用法以及npm被墙的解决方法

    我们要明白我们使用的npm就是node中自带的包(模块)管理工具:借助NPM可以帮助我们快速安和管理依赖包,使Node与第三方模块之间形成了一个良好的生态系统. 我们可以直接输入npm,查看帮助引导: ...

随机推荐

  1. HTML 网页游戏 2048

    新手只会一点html和css,javascript基本不会,更别提jQuery了= = 跟着慕课网的教学视频(视频地址:http://www.imooc.com/learn/76)一点点做的,由于自己 ...

  2. 问题.NET--win7 IIS唯一密钥属性“VALUE”设置为“DEFAULT.ASPX”时,无法添加类型为“add”的重复集合

    问题现象:.NET--win7 IIS唯一密钥属性“VALUE”设置为“DEFAULT.ASPX”时,无法添加类型为“add”的重复集合 问题处理: 内容摘要:    HTTP 错误 500.19 - ...

  3. 展开/收缩 ul

    了一个展开收缩的东东,留着以后万一用到 后台递归生成的函数(这里是一个反射参数展示,支持多层级展开显示,后台反射如何多层级解析的方法有时间再补上吧) /// <summary> /// 递 ...

  4. (一)Memcached初学教程之安装服务篇(Windows下)

    1.下载Memcached的Windows服务安装程序(备注:memcached官网:http://memcached.org/ ,没有提供windows下的安装包,只有UNIX下的安装包,我们这里用 ...

  5. 用户名 不在 sudoers文件中,此事将被报告

    解决方法: 1.通过编辑器来打开/etc/sudoers 2.直接使用命令visudo 打开sudoers后,如下加上自己的帐号保存后就可以了. # User privilege specificat ...

  6. java实现下载文件到本地

    代码如下: URL url = new URL("http://www.cnblogs.com/images/logo_small.gif"); URLConnection con ...

  7. SRM659 1100pts

    绍一模拟赛的题[问题描述]小Z.小Y和小B拥有

  8. MS-SQLSERVER中的MSDTC不可用解决方法

    今天在本地机直接在触发器里更新还有一台服务器数据时出现: MSDTC不可用  解决的方法:  在windows控制面版-->管理工具-->服务-->Distributed   Tra ...

  9. nginx安装php和php-fpm

    最近在学习nginx,看了好多帖子终于安装成功了. 经验,首先不要用yum安装,安装完以后根本找不到安装目录在哪里呀,然后安装失败以后会很不方便. 最终选择了自己编译安装. 看了好多帖子都不行,终于找 ...

  10. 我的Android开发相关文章

    Pro Android学习笔记: Pro Android学习笔记(一零七):2D动画(2):layout渐变动画 2014.7.25 Pro Android学习笔记(一零六):2D动画(1):fram ...