iPad warning:Attempt to present <UIImagePickerController:xxxx > on xxxx which is already presenting (null)

释放双眼,带上耳机,听听看~!

这个问题网上也有很多的答案.我在这里分享下我详细过程.

设备: ipad pro

系统:iOS 10.3

相关代码

这里使用actionSheet 创建活动卡<问题就出现在这>

// 这里

正确的代码

__weak typedef(self)weakSelf = self;

if([[[UIDevicecurrentDevice]systemVersion]floatValue]>=8.0){

[[NSOperationQueuemainQueue]addOperationWithBlock:^{[selfpresentViewController:cameraUI animated:NO completion:nil];}];

}else{

[controller presentViewController:cameraUI animated:NO completion:nil];

}

 

原因分析:

 

提供答案的作者猜想,在ios 8 中, alert view 和 action sheet 实际上是以控制器的方式弹出的.所以,如果你从这个alert view 上弹出了一个响应控制器的话,这时,这个alert view 正在销毁, 而 你要弹出的控制器却整在被弹出. 操作冲突. 所以我延迟了 UIImagePickerController 的弹出, 直到runloop的下一次迭代.

 

笔者第一次写分享,写的不是很好,很多东西怕自己了解的不够深,造成误解.所以都是直接找的准确的解答来分享.

人已赞赏
iOS文章

iOS开发十进制转二进制

2020-3-6 12:33:01

iOS文章

iOS自定义下拉菜单

2020-3-6 12:59:43

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索