actionSheet报错的问题及解决方法

最近写一个调用系统相册和系统相机的功能,其实很简单,然后自己实现一遍的时候出现了一个问题,如下:


在需要调用系统相册与相机的时候弹出一个actionSheet,
然后在actionSheetDelegate里面找了个clickedButtonAtIndex方法就写
了点击事件,运行iPhone模拟器,一切都显得那么OK,然而
运行ipad模拟器的时候,点击没有效果,console里面报了一个错

Warning: Attempt to present <UIImagePickerController: 
0x7a085000>  on <ViewController: 0x79863ba0> which is
 already presenting <UIAlertController: 0x7873b4b0>

很容易理解,但是当时真没有细看,翻译一下

警告:尝试在已经呈现了一个UIAlertController
的viewController上呈现UIImagePickerController.

这里的UIAlertController就是指的已经弹出的actionSheet
控制器。

所以真相大白了,解决方案就是把clickedButtonAtIndex方法改为didDismissWithButtonIndex,这样present imagePickerController的时候actionSheet就已经不存在了,上面的冲突也就不存在了。
至于为何iPhone上不存在问题而ipad上有此问题,希望大神能跟帖留言,给出答案,也能实现我抛砖引玉的美好愿望。

*   附:最近遇到了一个让我困扰很久的bug,也在这里贴一下:
目前这个项目是ipad项目,因为需要写死横屏,然而
在imagePickerController这个只支持竖屏的玩意儿调用
结束,给它dismiss掉的时候,程序立马崩掉,始终不得解。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值