iOS中的表單按鈕選項UIActionSheet常用方法整理_IOS

來源:互聯網
上載者:User

什麼是動作表單?看圖:

一看圖就明白了,毋需多說。

複製代碼 代碼如下:

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]; 
@property(nonatomic,copy) NSString *title;

設定標題

複製代碼 代碼如下:

@property(nonatomic) UIActionSheetStyle actionSheetStyle;

添加一個按鈕,會返回按鈕的索引

複製代碼 代碼如下:

- (NSInteger)addButtonWithTitle:(NSString *)title;

[/code]

擷取按鈕標題

複製代碼 代碼如下:

- (NSString *)buttonTitleAtIndex:(NSInteger)buttonIndex;

擷取按鈕數量

複製代碼 代碼如下:

@property(nonatomic,readonly) NSInteger numberOfButtons;

設定取消按鈕的索引值

複製代碼 代碼如下:

@property(nonatomic) NSInteger cancelButtonIndex;

設定特殊標記

複製代碼 代碼如下:

@property(nonatomic) NSInteger destructiveButtonIndex;

視圖當前是否可見

複製代碼 代碼如下:

@property(nonatomic,readonly,getter=isVisible) BOOL visible;

下面是幾種彈出方式,會根據風格不同展現不同的方式:
複製代碼 代碼如下:

- (void)showFromToolbar:(UIToolbar *)view;
- (void)showFromTabBar:(UITabBar *)view;
- (void)showFromBarButtonItem:(UIBarButtonItem *)item animated:(BOOL)animated ;
- (void)showFromRect:(CGRect)rect inView:(UIView *)view animated:(BOOL)animated ;
- (void)showInView:(UIView *)view;

使用代碼將視圖收回

複製代碼 代碼如下:

- (void)dismissWithClickedButtonIndex:(NSInteger)buttonIndex animated:(BOOL)animated;


UIActionSheet代理方法

複製代碼 代碼如下:

- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex;

點擊按鈕時觸發的方法
複製代碼 代碼如下:

- (void)willPresentActionSheet:(UIActionSheet *)actionSheet;

視圖將要彈出時觸發的方法
複製代碼 代碼如下:

- (void)didPresentActionSheet:(UIActionSheet *)actionSheet;

視圖已經彈出式觸發的方法
複製代碼 代碼如下:

- (void)actionSheet:(UIActionSheet *)actionSheet willDismissWithButtonIndex:(NSInteger)buttonIndex;

點擊按鈕後,視圖將要收回時觸發的方法
複製代碼 代碼如下:

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex;

點擊按鈕後,視圖已經收回時觸發的方法

相關文章

聯繫我們

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