首先,视图控制器必须得实现协议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对对话框的事件处理方法

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

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

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

  3. 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法

    在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法 最近在做一个小东西,使用kindeditor上传图片的时候,自己写了一个上传的方法,按照协议规则通过ajax返回json ...

  4. 【NX二次开发】修改dlx对话框标题的方法

    修改dlx名称, 修改对话框标题的方法: theDialog->TopBlock()->FindBlock("Dialog")->GetProperties()- ...

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

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

  6. JQuery EasyUI 对话框的使用方法

    下面看一下EasyUI的对话框效果图 js代码: 复制代码代码如下: <script language="javascript" type="text/javasc ...

  7. Delphi的WebBrowser改造,对网页中Alter等对话框的改造方法(通过COM来改造)

    刚有一段时间没做博客了,今天刚好有人问了这个问题,而自己以前也弄过,于是这里有了一篇新的博文. 关于改造WebBrowser控件的一些技巧,大家可以参考MSDN或者蒋晟写的一个东西,里面有讲的很详细的 ...

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

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

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

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

随机推荐

  1. KSImageNamed-Xcode插件在xcode 6.4/6.3或其他版本中不能使用解决方案

    大家都知道这个插件很强大,但是现在这个插件最新版貌似只支持xcode7 ,需要修改KSImageNamed-xcode中的一个配置文件,添加uuid才能使他支持xcode6.3或6.4 进入下载的插件 ...

  2. C#学习笔记之线程 - 高级主题:非阻塞同步

    非阻塞同步 - Nonblock Synchronization 前面提到,即使在简单的赋值和增加一个字段的情况下也需要处理同步.尽管,使用锁可以完成这个功能,但是锁必定会阻塞线程,需要线程切换,在高 ...

  3. [java学习笔记]java语言核心----面向对象基础

    1.面向对象概述 面向对象是java语言的核心.是对应于面向过程而言的. 面向过程:强调的是过程,即动作.在java中动作就是函数.C语言就是面向过程的. 如:把大象装进冰箱需要几步? 答:需要三步: ...

  4. 【Winform】 无法将类型为“System.Windows.Forms.SplitContainer”的对象强制转换为类型“System.ComponentModel.ISupportInitialize”。

    问题:将dotnet framework 4.0 切换到2.0时,编译没有问题,在运行时出现如下错误:System.InvalidCastException: 无法将类型为“System.Window ...

  5. JavaScript null and undefined

    http://stackoverflow.com/questions/6429225/javascript-null-or-undefined var x; x == null // true x = ...

  6. javassist动态修改class

    import java.io.IOException;import java.io.PrintWriter; import javassist.CannotCompileException;impor ...

  7. psp系统需求分析

    软件开发方向“PSP系统”软件需求规约 目录 1 引言... 4 1.1 目的... 4 1.2 文档格式... 4 1.3 预期的读者和阅读建议... 4 1.4 范围... 5 1.5 术语... ...

  8. 1054. The Dominant Color (20)

    时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Behind the scenes in the compute ...

  9. if...else..的错误用法

    1.最近在写js代码完成一个前段DOM操作的函数时,自己错误的使用了if..else..控制体.为什么是错误的呢?看看我的 代码你就明白了: document.getElementsByClassNa ...

  10. UVA 524

    Description   A ring is composed of n (even number) circles as shown in diagram. Put natural numbers ...