zoukankan      html  css  js  c++  java
  • UIAlertView+Blocks.h

    #import <Foundation/Foundation.h>
    
    typedef void (^DismissBlock)(int buttonIndex);
    typedef void (^CancelBlock)();
    
    @interface UIAlertView (Blocks) <UIAlertViewDelegate> 
    
    + (UIAlertView*) showAlertViewWithTitle:(NSString*) title                    
                                    message:(NSString*) message 
                          cancelButtonTitle:(NSString*) cancelButtonTitle
                          otherButtonTitles:(NSArray*) otherButtons
                                  onDismiss:(DismissBlock) dismissed                   
                                   onCancel:(CancelBlock) cancelled;
    
    @end
    //
    //  UIAlertView+Blocks.m
    //  UIKitCategoryAdditions
    //
    
    #import "UIAlertView+Blocks.h"
    
    static DismissBlock _dismissBlock;
    static CancelBlock _cancelBlock;
    
    @implementation UIAlertView (Blocks)
    
    + (UIAlertView*) showAlertViewWithTitle:(NSString*) title                    
                                    message:(NSString*) message 
                          cancelButtonTitle:(NSString*) cancelButtonTitle
                          otherButtonTitles:(NSArray*) otherButtons
                                  onDismiss:(DismissBlock) dismissed                   
                                   onCancel:(CancelBlock) cancelled {
      
      _cancelBlock  = [cancelled copy];
      
      _dismissBlock  = [dismissed copy];
      
      UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title
                                                      message:message
                                                     delegate:[self self]
                                            cancelButtonTitle:cancelButtonTitle
                                            otherButtonTitles:nil];
      
      for(NSString *buttonTitle in otherButtons)
        [alert addButtonWithTitle:buttonTitle];
      
      [alert show];
      return alert;
    }
    
    + (void)alertView:(UIAlertView*) alertView didDismissWithButtonIndex:(NSInteger) buttonIndex {
      
        if(buttonIndex == [alertView cancelButtonIndex])
        {
            _cancelBlock();
        }
      else
      {
        _dismissBlock(buttonIndex - 1); // cancel button is button 0
      }  
    }
    
    
    @end
     
  • 相关阅读:
    poj 1286
    poj 1815
    poj 3368
    十个利用矩阵乘法解决的经典题目
    poj 1026
    hdu 1394
    poj 3270
    poj 2154
    《重构 改善既有代码的设计》读书笔记2
    Android OpenGL ES: 渐变颜色的三角形
  • 原文地址:https://www.cnblogs.com/hxwj/p/4796270.html
Copyright © 2011-2022 走看看