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

来源:互联网 发布:天猫商城源码 编辑:程序博客网 时间:2024/05/16 13:48

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


原创粉丝点击