响应UIAlertView的按钮点击动作

首先,视图控制器必须得实现协议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;  
    }




转载于:https://my.oschina.net/u/1782374/blog/380250

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值