原文网址:http://blog.csdn.net/enuola/article/details/7900346

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

具体代码如下:

ViewController.h中的代码如下:

  1. #import <UIKit/UIKit.h>
  2. @interface ViewController : UIViewController<UIAlertViewDelegate>
  3. @end

ViewController.m中的详细代码:

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

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

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

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

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

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

  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. hdu 3807

    很好的思路     枚举有多少人有ipad 判是否满足题目给出的条件 #include <iostream> #include <cstring> #include <c ...

  2. 提高jQuery执行效率需要注意几点

    1. 使用最新版本的jQuery jQuery的版本更新很快,你应该总是使用最新的版本.因为新版本会改进性能,还有很多新功能. 下面就来看看,不同版本的jQuery性能差异有多大.这里是三条最常见的j ...

  3. list 去掉重复的值

    去除List列表中重复值(3种解决方法)public static void main(String[] args) { String[] ar = { "dd", "c ...

  4. 140304笔记, mysql 更改自动增长字段值的重新设定

    1. 存在同名的或不同的namespace交错情况. Caused by: com.ibatis.sqlmap.client.SqlMapException: There is no result m ...

  5. git安装及使用

    一.安装 1.从http://code.google.com/p/msysgit/下载Git-1.8.4-preview20130916.exe,并安装. 2.新建git目录,右键选择Git Bash ...

  6. POJ2480 Longge's problem gcd&&phi

    题意简洁明了.做这题主要是温习一下phi的求法.令gcd(i,n)=k,实际上我们只需要求出有多少个i使得gcd(i,n)=k就可以了,然后就转化成了求phi(n/k)的和,但是n很大,我们不可能预处 ...

  7. 一天,python搞个分析NGINX日志的脚本

    准备给ZABBIX用的. 统计接口访问字次,平均响应时间,4XX,5XX次数 以后可以再改进.. #!/usr/bin/env python # coding: utf-8 ############# ...

  8. 李洪强iOS开发之initWithFrame,initWithCoder和aweakFormNib

    1 initWithFrame 通过代码创建控件的话用这个方法设置  2 initWithCoder(先执行) 与从xib加载有关系的 在此方法里面设置原有子控件的值是不行的,因为还没有连好线  3 ...

  9. 李洪强iOS开发支付集成之银联支付

    iOS开发支付集成之银联支付 银联官网在这里,这里能下载SDK或者是看文档.最新的版本写的简单了很多,看文档一直做下去基本上就没问题了. 首先,SDK在这里下载,里面包含需要的库文件和详细的文档. 银 ...

  10. 银联接口(注意项&备忘)

    1,参考文档“证书下载.导出及上传流程.docx” 按照文档上所述,依次进行,导出的证书备用,用于配置文件的项“const SDK_ENCRYPT_CERT_PATH” 2,使用tp框架 新建一个控制 ...