Update: In the iOS 9 SDK, the UIActionSheet deprecated, so don't expect this problem to be fixed. It is best to use the UIAlertController whenever possible.
The problem seems to be related to replacing Apple with the UIAlertController inside to implement the functionality of alert views and action sheets. This issue is mainly addressed on the iPad and action sheets, because on the iPad action sheets are presented as popover in a specific view, and what Apple does is move the responder chain until it finds a view controller and calls presentViewController:animated:completion: with internal UIAlertController The problem on the iPhone is also obvious with warnings, because there Apple actually creates a separate window, an empty view controller and represents an internal UIAlertController on top of it, so it does not seem to interfere with another view.
I opened an error report for this problem: rdar: // 17742017 . Please duplicate it and tell Apple that this is a problem.
As a workaround, I recommend deferring the presentation to the next runloop using the following method:
dispatch_async(dispatch_get_main_queue(), ^ { [self presentViewController:vc animated:YES completion:nil]; });
Leo Natan Jul 20 '14 at 20:52 2014-07-20 20:52
source share