Question: I want to dismiss `UIActionsheet` when user taps anywhere else on screen. I don't want to 
provide cancel button.

**My code**

```
UIActionSheet *sheet = [[UIActionSheet alloc] initWithTitle:sheetTitle delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles: nil];

    [sheet setTag:indexPath.row];

    for (NSString *buttonTitle in buttonTitles)
    {
        [sheet addButtonWithTitle:buttonTitle];
    }

    [sheet showFromToolbar:self.navigationController.toolbar];

    [sheet release];
    [buttonTitles release];

```

Answer: 
Make your ActionSheet object global and then allocate it into your block. then you can dismiss it from outside touches event on your view.
add following block into your view.

```
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
  [sheet removeFromSuperView];
  sheet=nil;
}

```

hope this will help you
Declare ActionSheet globally and then paste this code after the viewdidload

```
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

        [super touchesBegan:touches withEvent:event];
        [actionSheet dismissWithClickedButtonIndex:0 animated:YES];
    }

```

works 100%