您的位置:首页 > 产品设计 > UI/UE

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

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

具体代码如下:

ViewController.h中的代码如下:

[cpp] view
plaincopy

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UIAlertViewDelegate>

@end

ViewController.m中的详细代码:

[java] view
plaincopy

- (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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: