Я столкнулся с той же проблемой, и я нашел обходной путь, а не решение.
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog(@"%d",buttonIndex);
switch (buttonIndex) {
case -1:
[self presentOptions];
//.... more cases here
}
}
Когда пользователь нажимает вне UIActionSheet , вы получаете -1 в виде buttonIndex. В этом случае я снова представил UIActionSheet (вызвав мой метод presentOptions , который просто представляет действие). С точки зрения пользователей вы можете увидеть крошечную вспышку UIActionSheet: едва заметную. Не идеальное решение, но и приемлемый обходной путь, я бы сказал.