什麼是動作表單?看圖:
一看圖就明白了,毋需多說。
UIActionSheet* mySheet = [[UIActionSheet alloc] initWithTitle:@"ActionChoose" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Destroy" otherButtonTitles:@"OK", nil]; [mySheet showInView:self.view];
與UIAlertView類似,我們也是在委託方法裡處理按下按鈕後的動作。記得在所委託的類加上UIActionSheetDelegate。
- (void)actionSheetCancel:(UIActionSheet *)actionSheet{ //}- (void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{ //}-(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{ //}-(void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex{ //}
看到那個紅色的按鈕沒?那是ActionSheet支援的一種所謂的銷毀按鈕,對某戶的某個動作起到警示作用,
比如永久性刪除一條訊息或者日誌。如果你指定了一個銷毀按鈕他就會以紅色高亮顯示:
mySheet.destructiveButtonIndex=1;
與導覽列類似,動作表單也支援三種風格 :
UIActionSheetStyleDefault //預設風格:灰色背景上顯示白色文字UIActionSheetStyleBlackTranslucent //透明黑色背景,白色文字UIActionSheetStyleBlackOpaque //純黑背景,白色文字
用法用例:
mySheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;
顯示ActionSheet有三種方法:
1.在一個視圖內部顯示,可以用showInView
[mySheet showInView:self];
2.如果要將ActonSheet 與工具列或者標籤欄對齊,可以使用showFromToolBar或showFromTabBar
[mySheet showFromToolBar:toolbar];
[mySheet showFromTabBar:tabbar];
解除動作表單
使用者按下按鈕之後,Actionsheet就會消失——除非應用程式有特殊原因,需要使用者按下做個按鈕。用dismiss方法可令表單消失:
[mySheet dismissWithClickButtonIndex:1 animated:YES];