#import "ActionSheetTestViewController.h"
@implementation ActionSheetTestViewController
/*
Tasks
Creating Action Sheets
– initWithTitle:delegate:cancelButtonTitle:destructiveButtonTitle:otherButtonTitles:
Setting Properties
delegate property
title property
visible property
actionSheetStyle property 无例
Configuring Buttons
– addButtonWithTitle:
numberOfButtons property
– buttonTitleAtIndex:
cancelButtonIndex property
destructiveButtonIndex property
firstOtherButtonIndex property
Displaying
– showFromTabBar:
– showFromToolbar:
– showInView:
Dismissing
– dismissWithClickedButtonIndex:animated:
*/
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
UILabel *numOfBtn = [[UILabel alloc]initWithFrame:CGRectMake(10.0, 10.0, 30.0, 30.0)];
UILabel *titleOfBtn = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 10.0, 100.0, 30.0)];
UILabel *cancelBtnIndex = [[UILabel alloc]initWithFrame:CGRectMake(200.0, 10.0, 30.0, 30.0)];
UILabel *destructiveBtnIndex = [[UILabel alloc]initWithFrame:CGRectMake(10.0, 50.0, 30.0, 30.0)];
UILabel *firstOtherBtnIndex = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 50.0, 30.0, 30.0)];
UIActionSheet *actionSheetTest = [[UIActionSheet alloc]initWithTitle:@"ActionSheetTest"
delegate:self
cancelButtonTitle:@"CancelButton"
destructiveButtonTitle:@"RedButton"
otherButtonTitles:@"OtherButton1",@"OtherButton2",nil];
//看actionSheet是否可见,这是一个只读属性
BOOL a = actionSheetTest.visible;
NSLog(@"%d",a);
//不考虑指定索引的按钮的动作,可以设置是否有动画
[actionSheetTest dismissWithClickedButtonIndex:0 animated:NO];
//设置标题
actionSheetTest.title = @"ActionSheetTitle";
//通过给定标题添加按钮
[actionSheetTest addButtonWithTitle:@"addButtonWithTitle"];
//按钮总数
numOfBtn.text = [NSString stringWithFormat:@"%d",actionSheetTest.numberOfButtons];
//获取指定索引的标题
titleOfBtn.text = [actionSheetTest buttonTitleAtIndex:4];
//获取取消按钮的索引
cancelBtnIndex.text = [NSString stringWithFormat:@"%d",actionSheetTest.cancelButtonIndex];
//获取红色按钮的索引
destructiveBtnIndex.text = [NSString stringWithFormat:@"%d",actionSheetTest.destructiveButtonIndex];
//获取第一个其他按钮的索引
firstOtherBtnIndex.text = [NSString stringWithFormat:@"%d",actionSheetTest.firstOtherButtonIndex];
//设置actionSheet出现的方式
[actionSheetTest showInView:self.view];//or [actionSheetTest showFromTabBar:] or [actionSheetTest showFromToolBar:]
[self.view addSubview:numOfBtn];
[self.view addSubview:titleOfBtn];
[self.view addSubview:cancelBtnIndex];
[self.view addSubview:destructiveBtnIndex];
[self.view addSubview:firstOtherBtnIndex];
[actionSheetTest release];
[numOfBtn release];
[titleOfBtn release];
[cancelBtnIndex release];
[destructiveBtnIndex release];
[firstOtherBtnIndex 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 -- UIActionSheetDelegate --
//根据被点击按钮的索引处理点击事件
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog(@"clickedButtonAtIndex:%d",buttonIndex);
}
//ActionSheet已经消失时
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
NSLog(@"didDismissWithButtonIndex:%d",buttonIndex);
}
//ActionSheet即将消失时
- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex {
NSLog(@"willDismissWithButtonIndex:%d",buttonIndex);
}
//
- (void)actionSheetCancel:(UIActionSheet *)actionSheet {
NSLog(@"actionSheetCancel");
}
//ActionSheet已经显示时
- (void)didPresentActionSheet:(UIActionSheet *)actionSheet {
NSLog(@"didPresentActionSheet%@",actionSheet);
}
//ActionSheet即将显示时
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet {
NSLog(@"willPresentActionSheet%@",actionSheet);
}