[iPhone开发之控件的使用]UIAlertView的各种属性、方法及代理的使用


 

#import "AlertViewTestViewController.h"
@implementation AlertViewTestViewController

/*
 Tasks
 
 Creating Alert Views
	– initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:  
 Setting Properties
	delegate  property  
	title  property  
	message  property  
	visible  property  
 Configuring Buttons
	– addButtonWithTitle:  
	numberOfButtons  property  
	– buttonTitleAtIndex:  
	cancelButtonIndex  property  
	firstOtherButtonIndex  property  
 Displaying
	– show  
 Dismissing
	– dismissWithClickedButtonIndex:animated:  无例
*/

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
	//初始化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(@"numberOfButtons:%d",alert.numberOfButtons);
	
	//获取指定索引的按钮的标题
	NSLog(@"buttonTitleAtIndex:%@",[alert buttonTitleAtIndex:2]);
	
	//获得取消按钮的索引
	NSLog(@"cancelButtonIndex:%d",alert.cancelButtonIndex);
	
	//获得第一个其他按钮的索引
	NSLog(@"firstOtherButtonIndex:%d",alert.firstOtherButtonIndex);
	
	//显示AlertView
	[alert show];
	
	[alert release];
    [super viewDidLoad];
}

/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
- (void)didReceiveMemoryWarning {
	// Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
	
	// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
	// Release any retained subviews of the main view.
	// e.g. self.myOutlet = nil;
}

- (void)dealloc {
    [super dealloc];
}
#pragma mark  -- UIAlertViewDelegate --
//根据被点击按钮的索引处理点击事件
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
	NSLog(@"clickedButtonAtIndex:%d",buttonIndex);
}
//AlertView已经消失时
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
	NSLog(@"didDismissWithButtonIndex");
}
//AlertView即将消失时
- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex {
	NSLog(@"willDismissWithButtonIndex");
}

- (void)alertViewCancel:(UIAlertView *)alertView {
	NSLog(@"alertViewCancel");
}
//AlertView已经显示时
- (void)didPresentAlertView:(UIAlertView *)alertView {
	NSLog(@"didPresentAlertView");
}
//AlertView即将显示时
- (void)willPresentAlertView:(UIAlertView *)alertView {
	NSLog(@"willPresentAlertView");
}
@end