在iPad iOS8环境下打开相册或者拍照

在iPad下打开相册或者拍照,如果使用 UIImagePickerController 打开相册或者拍照,那必须要用到 UIPopoverController 去打开。

UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker];
                self.popoverController = popover;
                [self.popoverController presentPopoverFromRect:CGRectMake(0, 0, 600, 800) inView:self.viewController.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

但是在iOS8的iPad环境下,却打不开相册或者拍照,提示如下:

Warning: Attempt to present <UIImagePickerController: 0x7fb3d1167a00>  on <CubeWebViewController: 0x7fb3d324ad20> which is already presenting (null)

解决方法如下:

[[NSOperationQueue mainQueue] addOperationWithBlock:^{
                UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker];
                self.popoverController = popover;
                [self.popoverController presentPopoverFromRect:CGRectMake(0, 0, 600, 800) inView:self.viewController.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
            }];

参考:http://stackoverflow.com/questions/24942282/uiimagepickercontroller-not-presenting-in-ios-8

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-09-27 21:53:56

在iPad iOS8环境下打开相册或者拍照的相关文章

在iPad iOS8环境下打开相冊或者拍照

在iPad下打开相冊或者拍照,假设使用 UIImagePickerController 打开相冊或者拍照,那必需要用到 UIPopoverController 去打开. UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker]; self.popoverController = popover; [self.popoverController presentP

解决在iOS8环境下,当用户关闭定位服务总开关时,无法将APP定位子选项加入定位权限列表的问题

关键点:- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status代理方法 iOS7环境下当APP首次调用startUpdatingLocation方法开启定位服务时,系统会自动将该APP的定位子选项加入设置中的定位权限列表,并弹框提示用户是否为该APP定位服务授权. 可是在iOS8环境下,使用定位服务的方式较之前版本发生改变,调用s

Windows环境下打开PHP Mb_String的方法

1.确保你的Windows/system32下有php_mbstring.dll这个文件,没有就从你Php安装目录extensions里拷入Windows/system32里面. 2.在windows目录下找到php.ini打开编辑,搜索mbstring.dll,找到 ;extension=php_mbstring.dll 然后将前面的;号去掉,打开对组件的支持 3.重启PHP服务(如果不会你可重新启一下计算机) Windows环境下打开PHP Mb_String的方法,布布扣,bubuko.c

【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员

===================问题情况描述=================== 小弟一直在玩discuz论坛开源程序,这个论坛程序经常涉及到论坛搬家的问题. 今天我在本地Wamp环境下,用开源软件帝国备份王2010进行数据库备份数据,结果打开发现报错500! 这真是坑爹了,回想下以前自己使用这个开源程序进行备份也不下于十几次了,大部分都正常成功, 但也不乏出现这种情况的,小弟之前一般遇到这种问题, 都是直接忽略,换其他办法来进行备份,但是用惯了帝国备份王,换其他的方法备份数据,总感觉难

Android WebView环境下打开相机、文件管理进行上传

Webview下面坑奇多,直接在浏览器下面可以直接调出相机和文件管理,但是在webview下面就是不行,在网上查阅了很多文章,不得不说坑奇多,最多终于拼拼凑凑成功了, 安卓版本为4.4.2,调试通过. 安卓端关键源码: protected ValueCallback<Uri> mUploadMessage; protected int FILECHOOSER_RESULTCODE = 1; private String mCameraFilePath; @SuppressLint("

判断是否为微信环境下打开的网页

非微信浏览器条件下隐藏某些东西: function isWeiXin(){ var ua = window.navigator.userAgent.toLowerCase(); if(ua.match(/MicroMessenger/i) == 'micromessenger' || ua.match(/_SQ_/i) == '_sq_'){ return true; }else{ document.getElementById("follow").style.visibility=&

Linux下打开Windows环境下创建的文本文件显示中文乱码问题

产生原因: Linux下打开Windows环境下创建的文本文件出现中文乱码,因为两种操作系统的中文压缩方式不同,在Windows环境下中文编码一般为GBK,而在Linux环境中为UTF-8,这就导致了在Windows下能正常显示的文件在Linux环境下打开出现了乱码. 解决方法: 使用iconv命令, 命令语法:iconv -f fromcode [-cs] [-t tocode [file ...] 假设乱码文件名为Hello.c,那么在终端可使用如下命令进行格式转换: iconv -f GB

Gentoo下打开windows txt文件中文乱码问题

Linux与Windows系统语言编码区别 在Linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码.出现这种情况的原因为两种操作系统的中文字符编码方式(压缩方式)不同,在windows环境中中文字符编码一般为gbk,而在linux环境中为utf8,这就导致了在windows下能正常显示txt文件在linux环境下打开呈现了乱码状态. 系统编码设置 locale.gen文件 # /etc/locale.gen: list al

[转载] linux下打开windows txt文件中文乱码问题

原文链接 在linux操作系统下,我们有时打开在windows下的txt文件,发现在windows下能正常显示的txt文件出现了中文乱码. 出现这种情况的原因为两种操作系统的中文压缩方式不同,在windows环境中中文压缩一般为gbk,而在linux环境中为utf8,这就导致了在windows下能正常显示 txt文件在linux环境下打开呈现了乱码状态. 解决方法:在linux用iconv命令,如乱码文件名为shujujiegou.txt,那么在终端输入如下命令: iconv -f gbk -t