我有一个应用程序,它使用UI ImagePickerView允许用户使用他们的相机拍照或使用UIImagePickerView从相机胶卷中选择一个.

获得图片后,我使用[picker presentViewController:myViewController animated:YES completion:nil]在选择器顶部显示一个不同的对话框.

如果我将我的应用程序作为iPhone应用程序(在我的iPad上)运行,当我使用[myviewController.presentingViewController dismissViewControllerAnimated:YES completion:nil]关闭myViewController时,它会返回显示CameraRoll或CameraFeed以拍摄另一张照片.

但是在iPad上,如果我选择一张图片,它可以正常工作,但如果我使用相机拍照拍照,我就会得到一个黑屏.

知道为什么吗?

解决方法

在iPad上使用不同于相机源的源时,您将在弹出窗口中呈现UIImagePickerController,您可以根据需要使用它.但是当你决定拿起源UIImagePickerControllerSourceTypeCamera时,选择器窗口呈现全屏,你有两种情况:

>如果您使用自定义控件(showsCameraControls = NO),您可以
使用相同的控制器拍摄尽可能多的照片.
>如果您使用默认控件(showsCameraControls = YES),之后
拍摄一张照片你必须关闭控制器,因为它是
再次无法使用,我猜这是你的情况.你是把
拍完照片后,下一个控制器在堆栈上,之后你
正试图回到你的选择器控制器,但它是无法使用的
更多,你可以看到黑屏.

imagePickerController的Apple文档:didFinishPickingMediawithInfo ::

If you set the image picker’s showsCameraControls property to NO and
provide your own custom controls,you can take multiple pictures
before dismissing the image picker interface. However,if you set that
property to YES,your delegate must dismiss the image picker interface
after the user takes one picture or cancels the operation.

如果您想在这种情况下拍摄另一张照片,则必须返回基本控制器并再创建一个UIImagePickerController实例.

我希望这将有所帮助.

编辑:
IMO重建视图控制器堆栈的最简单方法是在没有动画的情况下拍摄照片后关闭选择器,之后显示下一个带动画的控制器.它会让用户感觉到,下一个控制器就会在拾取器控制器之后显示而没有任何“闪烁”.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediawithInfo:(NSDictionary *)info {
    [self dismissViewControllerAnimated:NO completion:^{
        [self presentViewController:<newController> animated:YES completion:nil];
    }];
}

ios – 在Camera模式下的UIImagePickerView在iPad上的dismissViewController上显示所有黑色的更多相关文章

  1. HTML5拍照和摄像机功能实战详解

    这篇文章主要介绍了HTML5拍照和摄像机功能实战详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. ios – iPad中的UIPrintInteractionController给了我两个警告

    我正在使用代码在我的应用程序中获取Airprint以将当前视图打印为图像.弹出Airprint对话框,但在日志屏幕中它显示两个警告:1)警告:在iPad上调用–[UIPrintInteractionControllerpresentAnimated:completionHandler:]找不到PDF标题:找不到`%PDF’.2)[UIPopoverController_commonPresentP

  3. ios – 适用于iPad Pro的平台字符串

    我知道新款iPhone6s&的平台字符串.6sPlus:>iPhone8,1:iPhone6sPlus>iPhone8,2:iPhone6s但是新iPadPro的平台字符串是什么?解决方法iPadPro的平台字符串为:iPad6,8此外,这是从一开始就具有所有平台字符串的片段:

  4. ios – 如果我创建个人帐户而不是公司帐户,我可以让多个开发人员测试我的iPhone / iPad应用程序吗?

    但我只是想确保设置正确的帐户.干杯:)解决方法是的,您可以使用单个开发人员帐户对多达100台设备进行临时分发.在开发,测试和分发应用程序方面,个人帐户和公司帐户之间没有任何区别.唯一的区别是,对于公司帐户,有一个团队负责人可以将其他开发人员添加到帐户并管理他们的功能,但这与分发应用程序无关.

  5. iOS:在iPad上发出声音,给出Hz参数?

    在其中一个iOS层中是否有API,我可以通过指定其Hertz来生成音调.我想要做的是产生DTMF音调.此链接说明DTMF音调如何由2个音调组成:http://en.wikipedia.org/wiki/Telephone_keypad这基本上意味着我应该同时播放2个音调…那么,是否存在这样的事情:SomeCLeverPlayerAPI(697,1336);如果花了整个上午搜索这个,并找到了许多方法

  6. ios – 如何解决代码签名错误:身份ipad与您的钥匙串中任何有效的,未过期的证书/私钥对不匹配?

    我是iOS的新手(因此是MacOSx的新手)并使用Titanium,我使用的版本是2.1.我试图在iPad上部署我的应用程序,但出现以下错误:当我检查Xcode时,配置文件的状态为有效签名身份未找到,我的Xcode版本为4.4.我已进入我的团队开发人员门户网站,应用程序和iPad已在那里注册并已下载证书和配置文件,我似乎无法弄清楚这有什么问题.我试过this帖但我无法解决我的问题.我真的迷失在这里

  7. ios – 页面上有一个或多个错误.在itunesconnect上

    我正在尝试在iTunesconnect上传一个新的iOS应用程序版本,我不断收到错误页面上有一个或多个错误它突出了唯一的语言.请帮忙.并参考附图解决方法简而言之,必须将所有图像添加到“AppPreview和Screenshots”.我刚刚遇到这个问题,这个https://stackoverflow.com/a/38887524/795114的答案帮助我解决了这个问题.不知道为什么,但是当删除其他图

  8. ios – 如何为iPad 3命名图形文件

    正如我在iOS中所做的那样,我们可以将视网膜显示文件命名为name@2x.png.如何为iPad3命名文件ipad.png–iPad,iPad2ipad@2x.png–iPad3它是否正确?

  9. ios – 我如何创建一个将在iPad上使用popover并推入iPhone上的导航堆栈的segue?

    在我的应用程序中,某些视图控制器在iPad上将它们作为弹出窗口显示是有意义的,但是在iPhone上推送它是有意义的他们到导航堆栈上.有一种优雅的方式来支持这个吗?

  10. ios 8 Homescreen webapp,关闭和打开iPad停止javascript

    我有一个适用于iPad的全屏HTML5网络应用程序,并且刚刚安装了IOS8来试用它,它一切正常,直到你关闭并重新启动iPad.一旦web应用程序重新启动javascript就会停止并加载新页面不会重新启动它.在iPad上的Safari中打开同一页面时,关闭和打开iPad会继续按预期工作.其他人注意到了这个或想出了一个解决方案吗?解决方法这似乎是我在iOS8.1.1更新中解决的.

随机推荐

  1. iOS实现拖拽View跟随手指浮动效果

    这篇文章主要为大家详细介绍了iOS实现拖拽View跟随手指浮动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. iOS – genstrings:无法连接到输出目录en.lproj

    使用我桌面上的项目文件夹,我启动终端输入:cd然后将我的项目文件夹拖到终端,它给了我路径.然后我将这行代码粘贴到终端中找.-name*.m|xargsgenstrings-oen.lproj我在终端中收到此错误消息:genstrings:无法连接到输出目录en.lproj它多次打印这行,然后说我的项目是一个目录的路径?没有.strings文件.对我做错了什么的想法?

  3. iOS 7 UIButtonBarItem图像没有色调

    如何确保按钮图标采用全局色调?解决方法只是想将其转换为根注释,以便为“回答”复选标记提供更好的上下文,并提供更好的格式.我能想出这个!

  4. ios – 在自定义相机层的AVFoundation中自动对焦和自动曝光

    为AVFoundation定制图层相机创建精确的自动对焦和曝光的最佳方法是什么?

  5. ios – Xcode找不到Alamofire,错误:没有这样的模块’Alamofire’

    我正在尝试按照github(https://github.com/Alamofire/Alamofire#cocoapods)指令将Alamofire包含在我的Swift项目中.我创建了一个新项目,导航到项目目录并运行此命令sudogeminstallcocoapods.然后我面临以下错误:搜索后我设法通过运行此命令安装cocoapodssudogeminstall-n/usr/local/bin

  6. ios – 在没有iPhone6s或更新的情况下测试ARKit

    我在决定下载Xcode9之前.我想玩新的框架–ARKit.我知道要用ARKit运行app我需要一个带有A9芯片或更新版本的设备.不幸的是我有一个较旧的.我的问题是已经下载了新Xcode的人.在我的情况下有可能运行ARKit应用程序吗?那个或其他任何模拟器?任何想法或我将不得不购买新设备?解决方法任何iOS11设备都可以使用ARKit,但是具有高质量AR体验的全球跟踪功能需要使用A9或更高版本处理器的设备.使用iOS11测试版更新您的设备是必要的.

  7. 将iOS应用移植到Android

    我们制作了一个具有2000个目标c类的退出大型iOS应用程序.我想知道有一个最佳实践指南将其移植到Android?此外,由于我们的应用程序大量使用UINavigation和UIView控制器,我想知道在Android上有类似的模型和实现.谢谢到目前为止,guenter解决方法老实说,我认为你正在计划的只是制作难以维护的糟糕代码.我意识到这听起来像很多工作,但从长远来看它会更容易,我只是将应用程序的概念“移植”到android并从头开始编写.

  8. ios – 在Swift中覆盖Objective C类方法

    我是Swift的初学者,我正在尝试在Swift项目中使用JSONModel.我想从JSONModel覆盖方法keyMapper,但我没有找到如何覆盖模型类中的Objective-C类方法.该方法的签名是:我怎样才能做到这一点?解决方法您可以像覆盖实例方法一样执行此操作,但使用class关键字除外:

  9. ios – 在WKWebView中获取链接URL

    我想在WKWebView中获取tapped链接的url.链接采用自定义格式,可触发应用中的某些操作.例如HTTP://我的网站/帮助#深层链接对讲.我这样使用KVO:这在第一次点击链接时效果很好.但是,如果我连续两次点击相同的链接,它将不报告链接点击.是否有解决方法来解决这个问题,以便我可以检测每个点击并获取链接?任何关于这个的指针都会很棒!解决方法像这样更改addobserver在observeValue函数中,您可以获得两个值

  10. ios – 在Swift的UIView中找到UILabel

    我正在尝试在我的UIViewControllers的超级视图中找到我的UILabels.这是我的代码:这是在Objective-C中推荐的方式,但是在Swift中我只得到UIViews和CALayer.我肯定在提供给这个方法的视图中有UILabel.我错过了什么?我的UIViewController中的调用:解决方法使用函数式编程概念可以更轻松地实现这一目标.

返回
顶部