文档章节

响应UIAlertView的按钮点击动作

Lambda8421
 Lambda8421
发布于 2015/02/26 20:26
字数 387
阅读 14
收藏 0
首先,视图控制器必须得实现协议UIAlertViewDelegate中的方法,并指定delegate为self,才能使弹出的Alert窗口响应点击事件。

具体代码如下:

ViewController.h中的代码如下:

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



ViewController.m中的详细代码:

    - (void)viewDidLoad  
    {  
        [super viewDidLoad];  
        // Do any additional setup after loading the view from its nib  
          
        //初始化AlertView  
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AlertViewTest"  
                                                       message:@"message"  
                                                      delegate:self  
                                             cancelButtonTitle:@"Cancel"  
                                             otherButtonTitles:@"OtherBtn",nil];  
        //设置标题与信息,通常在使用frame初始化AlertView时使用  
        alert.title = @"AlertViewTitle";  
        alert.message = @"AlertViewMessage";  
          
        //这个属性继承自UIView,当一个视图中有多个AlertView时,可以用这个属性来区分  
        alert.tag = 0;  
        //只读属性,看AlertView是否可见  
        NSLog(@"%d",alert.visible);  
        //通过给定标题添加按钮  
        [alert addButtonWithTitle:@"addButton"];  
        //按钮总数  
        NSLog(@"number Of Buttons :%d",alert.numberOfButtons);  
        //获取指定索引的按钮标题  
        NSLog(@"buttonTitleAtIndex1:%@",[alert buttonTitleAtIndex:1]);  
        NSLog(@"buttonTitleAtIndex2:%@",[alert buttonTitleAtIndex:2]);  
        //获取取消按钮的索引  
        NSLog(@"cancelButtonIndex:%d",alert.cancelButtonIndex);  
        //获取第一个其他按钮的索引  
        NSLog(@"firstOtherButtonIndex:%d",alert.firstOtherButtonIndex);  
        //显示AlertView  
        [alert show];  
        [alert release];  
    }  
      
    #pragma marks -- UIAlertViewDelegate --  
    //根据被点击按钮的索引处理点击事件  
    -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex  
    {  
        NSLog(@"clickButtonAtIndex:%d",buttonIndex);  
    }  
      
    //AlertView已经消失时执行的事件  
    -(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex  
    {  
        NSLog(@"didDismissWithButtonIndex");  
    }  
      
    //ALertView即将消失时的事件  
    -(void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex  
    {  
        NSLog(@"willDismissWithButtonIndex");  
    }  
      
    //AlertView的取消按钮的事件  
    -(void)alertViewCancel:(UIAlertView *)alertView  
    {  
        NSLog(@"alertViewCancel");  
    }  
      
    //AlertView已经显示时的事件  
    -(void)didPresentAlertView:(UIAlertView *)alertView  
    {  
        NSLog(@"didPresentAlertView");  
    }  
      
    //AlertView即将显示时  
    -(void)willPresentAlertView:(UIAlertView *)alertView  
    {  
        NSLog(@"willPresentAlertView");  
    }  
      
    - (void)viewDidUnload  
    {  
        [super viewDidUnload];  
        // Release any retained subviews of the main view.  
        // e.g. self.myOutlet = nil;  
    }




本文转载自:

共有 人打赏支持
Lambda8421
粉丝 10
博文 121
码字总数 121640
作品 0
闸北
程序员
私信 提问
IOS基础UI之(五)UIAlertView、UIActionSheet和UIAlertContro

IOS基础UI之(五)UIAlertView、UIActionSheet和UIAlertController详解 标签: iosUIAlertViewUIActionSheetUIAlertController 2015-09-20 11:58 340人阅读 评论(3) 收藏 举报 分类: IOS(UI基......

Bob_Zheng
2015/11/26
41
0
Xamarin iOS教程之警告视图

Xamarin iOS教程之警告视图 Xamarin iOS警告视图 如果需要向用户显示一条非常重要的消息时,警告视图(UIAlertView类)就可以派上用场了。它的功能是把需要注意的信息显示给用户。一般显示一...

大学霸
2015/06/23
0
0
iOS9使用提示框的正确实现方式

在从iOS8到iOS9的升级过程中,弹出提示框的方式有了很大的改变,在Xcode7 ,iOS9.0的SDK中,已经明确提示不再推荐使用UIAlertView,而只能使用UIAlertController,我们通过代码来演示一下。 ...

海二少
2016/03/10
23
1
一个BUG的发现、定位和解决

前言 在iOS 11发布之后,出现了一系列适配相关的问题,UIScrollView在pagingEnabled=YES时滑动手势不灵敏,UITableView的滑动删除功能变动,UIImagePickerViewController的取消按钮点击区域变...

落影loyinglin
2017/10/10
0
0
UIAlertView study

首先要自定义一个UIAlertView扩展类,如MAlertView: .h文件 #import <Foundation/Foundation.h> @interface MAlertView : UIAlertView { UITextField *passwdField; NSInteger textFieldCou......

蝴蝶庆庆
2015/08/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring boot 各种常用注解总结(不断完善中)

@Configuration把一个类作为一个IoC容器,它的某个方法头上如果注册了@Bean,就会作为这个Spring容器中的Bean。 @Scope注解 作用域 @Lazy(true) 表示延迟初始化 @Service用于标注业务层组件、...

覃大光
13分钟前
1
1
《让家庭教育回归生活》读书笔记3000字范文

《让家庭教育回归生活》读书笔记3000字范文: 以前,只知道新东方是教英语的,也培训挖掘机司机,一直不知道他们还研究家庭教育。读了《让家庭教育回归生活》一书,才知道他们的家庭教育高峰...

原创小博客
24分钟前
1
0
spring学习笔记(二)spring 事件的使用

spring 中的事件 spring事件通过订阅发布 可以解耦操作 可以同步 可以异步 步骤 编写事件 通过继承org.springframework.context.ApplicationEvent 来编写事件 public ApplicationEvent(Obj...

NotFound403
昨天
13
0
特斯拉车主成功破解了自己Model 3汽车

据汽车博客Electrek消息,一位特斯拉车主成功破解了自己Model 3汽车,还在此基础上运行了Ubuntu。 这位叫trsohmers的网友表示,“功劳大多要归到Ingineerix的头上,他花了数月才找到初始的那...

linuxCool
昨天
4
0
Gitbook : random errors when using gitbook plugin on running "gitbook serve"

在执行gitbook serve时,会有不定的失败错误 参考问题 :#1309 解决方案: 更新gitbook版本,这个问题似乎是3版本的问题 , 官方也不打算在这个版本解决了。 更新 到最新版本后, 不再出现问...

ol_O_O_lo
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部