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

    xiaoxiao2021-04-19  71

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

    具体代码如下:

    ViewController.h中的代码如下:

    [cpp]  view plain  copy #import <UIKit/UIKit.h>      @interface ViewController : UIViewController<UIAlertViewDelegate>      @end  

    ViewController.m中的详细代码:

    [java]  view plain  copy - (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://ju.6miu.com/read-675684.html

    最新回复(0)