ios中UIActionSheet的誤區

來源:互聯網
上載者:User

標籤:iphone開發   uiactionsheet 誤區   


今天在研究UIActionSheet  直接把代碼放到viewDidLoad中來執行,費了半天的勁總是出現問題,也懷疑過是不是xcode的問題,後來發現平時用都是放到一個button的方法裡來操作,於是有個觀點產生UIActionSheet必須配合動作時才有效果。於是去查看開發文檔,上面有句話也驗證了觀點:Action sheets display a set of buttons representing several alternative choices to complete a task initiated by the user.

官方文檔:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/UIKitUICatalog/UIActionSheet.html


代碼:
 
@interface sheetviewViewController : UIViewController<UIActionSheetDelegate>

@end

    UIActionSheet *actionSheet = [[UIActionSheet alloc]initWithTitle:@"first ActionSheet" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:@"刪除" otherButtonTitles:@"保持", nil];
    
    actionSheet.actionSheetStyle = UIActionSheetStyleBlackTranslucent;
    [actionSheet showInView:self.view];


#pragma mark---實現UIActionSheetDelegate協議
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{

 if (buttonIndex == 0) {
        [self showAlert:@"確定"];
    }else if (buttonIndex == 1) {
        [self showAlert:@"第一項"];
    }else if(buttonIndex == 2) {
        [self showAlert:@"第二項"];
    }else if(buttonIndex == 3) {
        [self showAlert:@"取消"];
    }

    NSString *buttonTitle = [actionSheet buttonTitleAtIndex:buttonIndex];
    NSLog(@"buttonTitle = %@",buttonTitle);
}

actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;//設定樣式

參數解釋:   

cancelButtonTitle  destructiveButtonTitle是系統自動的兩項。

otherButtonTitles是自己定義的項,注意,最後一個參數要是nil。

[actionSheet showInView:self.view];這行語句的意思是在當前view顯示Action sheet。當然還可以用其他方法顯示Action sheet。


可以看到 buttonIndex 是對應的項的索引。

看到那個紅色的按鈕沒?那是ActionSheet支援的一種所謂的銷毀按鈕,對某戶的某個動作起到警示作用,

比如永久性刪除一條訊息或映像時。如果你指定了一個銷毀按鈕他就會以紅色高亮顯示:

actionSheet.destructiveButtonIndex=1;  

與導覽列類似,動作表單也支援三種風格 :

UIActionSheetStyleDefault              //預設風格:灰色背景上顯示白色文字   

UIActionSheetStyleBlackTranslucent     //透明黑色背景,白色文字   

UIActionSheetStyleBlackOpaque          //純黑背景,白色文字  

用法:

 actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;//設定樣式





相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.