{
  "name": "UIActionSheet-Blocks",
  "version": "1.0",
  "summary": "UIActionSheet+Blocks is a simple Block implementation for UIActionSheet created by Shai Mishali.",
  "description": "                \tUIActionSheet-Blocks\n                  ================\n\n                  UIActionSheet+Blocks is a simple Block implementation for UIActionSheet created by Shai Mishali.\n                  This allows you to use the power of blocks instead of implementing a delegate.\n\n                  USAGE\n                  ------\n\n                  Instead of allocating a new UIActionSheet and assigning a delegate, just call one of the static methods:\n\n                  ```objc\n                  UIActionSheet *sheet = [UIActionSheet presentOnView:self.view\n                                                            withTitle:@\"Select Picture\"\n                                                         otherButtons:@[@\"Camera Roll\", @\"Take a Picture\"]\n                                                             onCancel:^(UIActionSheet *actionSheet) {\n                                                                  NSLog(@\"Touched cancel button\");\n                                                             }\n                                                      onClickedButton:^(UIActionSheet *actionSheet, NSUInteger index) {\n                                                                  NSLog(@\"Selected button at index %d\", index);\n                                                              }];\n                  ```\n\n                  ![Simple UIActionSheet](http://i40.tinypic.com/29ge8m9.png)\n\n                  **OR**\n\n                  ```objc\n\n                  UIActionSheet *sheet = [UIActionSheet presentOnView:self.view\n                                                            withTitle:@\"John - 555-1212\"\n                                                         cancelButton:@\"Dismiss\"\n                                                    destructiveButton:@\"Delete Contact\"\n                                                         otherButtons:@[@\"Call Contact\",@\"Message Contact\"]\n                                                             onCancel:^(UIActionSheet *actionSheet) {\n                                                                  NSLog(@\"Touched cancel button\");\n                                                              }\n                                                        onDestructive:^(UIActionSheet *actionSheet) {\n                                                                  NSLog(@\"Touched destructive button\");\n                                                              }\n                                                      onClickedButton:^(UIActionSheet *actionSheet, NSUInteger index) {\n                                                                  NSLog(@\"Selected button at index %d\", index);\n                                                              }];\n                  ```\n\n                  ![Full UIActionSheet](http://i39.tinypic.com/73j6dw.png)\n\n\n                  The class will return the UIActionSheet object which you can manally dismiss if needed.   \n",
  "homepage": "https://github.com/freak4pc/UIActionSheet-Blocks",
  "license": "MIT",
  "authors": {
    "Shai Mishali": "freak4pc@gmail.com"
  },
  "platforms": {
    "ios": null
  },
  "source": {
    "git": "https://github.com/freak4pc/UIActionSheet-Blocks.git",
    "tag": "v1.0"
  },
  "source_files": "UIActionSheet+Blocks.**",
  "exclude_files": "UIActionSheet-BlocksExample/**",
  "requires_arc": true,
  "screenshots": [
    "https://github-camo.global.ssl.fastly.net/9f8918dcac3d355ac305235a99fd15243bee9520/687474703a2f2f6934302e74696e797069632e636f6d2f32396765386d392e706e67",
    "https://github-camo.global.ssl.fastly.net/30ca25f9eb47a79fe5d655dcacd144a060ea6c69/687474703a2f2f6933392e74696e797069632e636f6d2f37336a3664772e706e67"
  ]
}
