代码之家  ›  专栏  ›  技术社区  ›  D Gautam

相机UIImagePickerController在设备ios8中显示黑屏

  •  2
  • D Gautam  · 技术社区  · 10 年前

    我正在尝试以下代码来通过相机捕获图像。此代码在iPhone 6以下的所有设备中都正常工作 此代码在iPHone6和iPHone6+中无效。它显示一个黑色屏幕。

    enter code here
    
     (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
    {
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        picker.delegate = self;
        picker.allowsEditing = YES;
    
        switch (buttonIndex)
        {
            case 0: NSLog(@"Photo Butten Clicked");
                picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
                [App_Delegate.window.rootViewController presentViewController:picker animated:YES completion:nil];
                //            [self presentViewController:picker animated:YES completion:NULL];
                break;
    
            case 1: NSLog(@"Camera Butten Clicked");
                picker.sourceType = UIImagePickerControllerSourceTypeCamera;
                 [App_Delegate.window.rootViewController presentViewController:picker animated:YES completion:nil];
                // [self presentViewController:picker animated:YES completion:NULL];
                break;
    
            default:
                break;
        }
    }
    
    2 回复  |  直到 10 年前
        1
  •  2
  •   Jayesh Mardiya    10 年前

    您只需更改设备的设置

    遵循以下步骤

    1) 转到设备设置。

    2) 在设置列表中查找应用程序。

    3) 并向您的应用程序授予相机访问权限(允许“应用程序名称”访问)。

        2
  •  1
  •   sanmai    8 年前

    我找到了解决方案。我只是替换 以下代码

    [App_Delegate.window.rootViewController 
            presentViewController:picker 
            animated:YES 
            completion:nil];
    

    使用此代码

    [self presentViewController:picker animated:YES completion:NULL];