UIALertView与UIAlertViewDelegate的基本用法

 

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

}



 

你可能感兴趣的:(uialertview)