【问题标题】:UIImagePickerController is not presenting correctly in iOS 8UIImagePickerController 在 iOS 8 中没有正确显示
【发布时间】:2014-09-19 08:02:17
【问题描述】:

我想展示一个 UIImagePickerController ,代码如下:

self.pickerController = [[UIImagePickerController alloc] init];
self.pickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
self.pickerController.delegate = self;

[self presentViewController:self.pickerController animated:YES completion:nil];

在 iOS 7 及更低版本上运行良好,但在 iOS 8 中出现以下故障:

  1. 在过渡到图像选择器控制器(垂直封面动画)时,选择器控制器的背景颜色是不可见的,显示下方呈现的视图控制器。过渡完成后,picker的table view会突然显示,没有动画。

  2. 有时,选择器的表格视图根本不显示,而是出现一个空白的黑屏。导航栏仍然存在,但没有任何栏按钮项,因此用户必须强制退出应用程序。

有人知道这里发生了什么吗?

【问题讨论】:

  • 您是否实现了任何imagePickerController 方法以查看是否仍然会发生这种情况?
  • 是的,我确实实现了imagePickerController:didFinishPickingMediaWithInfo:
  • 我在 Swift 中做了同样的事情,它没有任何问题,所以我真的不知道你所做的有什么问题。我实现了 didFinishPickingImage editingInfomethod 和 imagePickerControllerDidCancel
  • 设备控制台有什么可以提供线索的吗?
  • @WaltSellers 对于UIImagePickerControllerSourceTypePhotoLibrary 没有任何内容,但对于UIImagePickerControllerSourceTypeCamera,我得到了以下日志: 对尚未呈现的视图进行快照会导致快照为空。确保您的视图在快照之前或屏幕更新后的快照之前至少渲染过一次。

标签: objective-c uiimagepickercontroller ios8


【解决方案1】:

所以我设法找到了这些问题的原因并解决了这些问题,并想在这里记录下来:

  1. 当我尝试从 XCode 5.1 编译到 iOS 8 设备时出现第一个问题。我切换到 XCode 6 beta 2,现在它工作得很好。

  2. 第二个问题是在我尝试重用之前显示的 UIImagePickerController 时出现的。在显示之前创建一个新实例,它会被修复。

干杯。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-29
    • 2019-09-14
    • 2014-08-29
    • 1970-01-01
    • 2023-03-25
    • 2010-12-09
    相关资源
    最近更新 更多