我的问题很简单,但我无法找到解决办法。按下按钮时,我会出现一个带有两个选项(库/相机)的UIActionSheet。当用户按下UIActionSheet上的按钮时,我会使用照片库呈现UIPopoverController或以模态方式呈现相机。
当按下操作表上的按钮时,我在控制台中收到以下警告:
Warning: Attempt to present <UIImagePickerController: 0x17ae1600> on <MyViewController: 0x17a3ca00> which is already presenting <UIAlertController: 0x1884acb0>
关于合适的解决方法的任何想法?
答案 0 :(得分:16)
我发现这是在iOS8上发生的。我在actionSheet:clickedButtonAtIndex:
内呈现了popover。对我来说,解决方案是改为使用actionSheet:didDismissWithButtonIndex:
。
答案 1 :(得分:0)
我建议在呈现另一个视图控制器之前等待UIActionSheet被隐藏。所以将表示新视图控制器的代码从actionSheet:clickedButtonAtIndex:方法转移到另一个方法并异步调用它,即类似
[self performSelector:@selector(presentImagePicker) withObject:nil afterDelay:1.0];
1秒延迟允许在呈现另一个视图控制器之前隐藏动作表。