IOS之操作表ActionSheet(免Delegate)

        接下来的操作,也是避免了Delegate的写法,方便对不同ActionSheet的分层操作。

1.添加头文件。文件可在附件下载。具体资料请参考:https://github.com/emenegro/action-sheet-blocks#readme

#include "UIActionSheet+Blocks.h"

 2.添加如下的方法。(自定义UIButton的单击触发事件)

- (IBAction)showActionSheet:(UIButton *)sender forEvent:(UIEvent *)event {
    UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:@"Test"
                                                       delegate:nil // Can be another value but will be overridden when showing with handler.
                                              cancelButtonTitle:@"Cancel"
                                         destructiveButtonTitle:@"Delete"
                                              otherButtonTitles:@"Option 1", @"Option 2", nil];
	[sheet showInView:self.view
              handler:^(UIActionSheet *actionSheet, NSInteger buttonIndex) {
                  if (buttonIndex == [actionSheet cancelButtonIndex]) {
                      NSLog(@"Cancel button index tapped");
                  } else if (buttonIndex == [actionSheet destructiveButtonIndex]) {
                      NSLog(@"Destructive button index tapped");
                  } else  {
                      NSLog(@"Button %i tapped", buttonIndex);
                  }                      
              }];
	sheet.actionSheetStyle =  UIActionSheetStyleAutomatic;
	[sheet showInView:self.view];
}

 
IOS之操作表ActionSheet(免Delegate)
 

你可能感兴趣的:(delegate)