小编yon*_*ytu的帖子

iOS 8 SDK:模态UIWebView和相机/图像选择器

我发现,在编译iOS 8(并在iOS 8中运行)时,UIWebView如果在UIWebView模式中呈现的视图控制器中,则无法显示相机/图像选择器.它在视图控制器中直接从窗口"悬挂" rootViewController或从其推出的视图控制器中工作没有问题.

测试应用程序可以在https://dl.dropboxusercontent.com/u/6214425/TestModalWebCamera.zip找到,但我将在下面进行描述.

我的测试应用程序(使用故事板构建,但实际应用程序不使用它们)有两个视图控制器(非原始命名ViewControllerViewController2).ViewController包含在UINavigationController根视图控制器中.ViewController包含一个UIWebView(工作正常),一个"显示"("推")的按钮ViewController2,以及一个UIBarButtonItem模态呈现的按钮ViewController2.ViewController2有另一个UIWebView在"推"时工作但在"提出"时不工作.

双方ViewControllerViewController2装载有:

- (void)viewDidLoad {
  [super viewDidLoad];

  [self.webView loadHTMLString:@"<input type=\"file\" accept=\"image/*;capture=camera\">" baseURL:nil];
}
Run Code Online (Sandbox Code Playgroud)

当尝试使用模态UIWebViewXcode在控制台中打印以下内容并解除应用模式:

Warning: Attempt to present <UIImagePickerController: 0x150ab800> on <ViewController2: 0x14623580> whose view is not in the window hierarchy!
Run Code Online (Sandbox Code Playgroud)

我目前的理论是,在改变UIActionSheetUIAlertController有可能产生这种情况,但它是非常难以证明.为了以防万一,我将与Apple一起打开雷达.

有人找到了相同的情况和一些解决方法吗?

objective-c uiwebview uiimagepickercontroller ios ios8

36
推荐指数
2
解决办法
3万
查看次数