iOS UI基礎-6.0 UIActionSheet的使用

來源:互聯網
上載者:User

標籤:

UIActionSheet是在iOS彈出的選擇按鈕項,可以添加多項,並為每項添加點擊事件.

使用

1.需要實現UIActionSheetDelegate  協議

@interface NJWisdomCardDetailViewController ()<UIActionSheetDelegate>@end

2.彈出選擇按鈕框

- (void)showSheet{    UIActionSheet *actionSheet = [[UIActionSheet alloc]                                  initWithTitle:@"title,nil時不顯示"                                  delegate:self                                  cancelButtonTitle:@"取消"                                  destructiveButtonTitle:@"確定"                                  otherButtonTitles:@"第一項", @"第二項",nil];    actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;    [actionSheet showInView:self.view];}

參數解釋: 

  • actionSheet.actionSheetStyle = UIActionSheetStyleBlackOpaque;//設定樣式
  • cancelButtonTitle和destructiveButtonTitle 是系統帶的兩個按鈕。
  • otherButtonTitles是自己定義的項,注意,最後一個參數要是nil。
  • [actionSheet showInView:self.view]; 這行語句的意思是在當前view顯示Action sheet。

設定樣式,動作表單也支援三種風格:

  • UIActionSheetStyleDefault              //預設風格:灰色背景上顯示白色文字   
  • UIActionSheetStyleBlackTranslucent     //透明黑色背景,白色文字   
  • UIActionSheetStyleBlackOpaque          //純黑背景,白色文字  

3.監聽項的點擊事件。實現協議裡的有相應的方法

(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:@"取消"];    } }- (void)actionSheetCancel:(UIActionSheet *)actionSheet{  }  -(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex{  }  -(void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex{  }
注意事項

在開發過程中,發現有時候UIActionSheet的最後一項點擊失效,點最後一項的上半地區時有效,這是在特定情況下才會發生,這個情境就是試用了UITabBar的時候才有。解決辦法:

在showView時這樣使用,[actionSheet showInView:[UIApplication sharedApplication].keyWindow];或者[sheet showInView:[AppDelegate sharedDelegate].tabBarController.view];這樣就不會發生遮擋現象了。

 

iOS UI基礎-6.0 UIActionSheet的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.