iPad 上的 iOS UIImagePickerController 黑屏

标签 ios objective-c ipad uiimagepickercontroller

我遇到了另一个奇怪的问题....

我允许用户拍照。为此,我使用了 UIImagePickerController。

对于 iPhone,它可以正常工作,但对于 iPad(iOS 8,我不知道其他版本),我有黑屏预览。

这是我的代码:

- (BOOL) startCameraControllerFromViewController: (UIViewController*) controller usingDelegate: (id <UIImagePickerControllerDelegate, UINavigationControllerDelegate>) delegate {
if (([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera] == NO) || (delegate == nil) || (controller == nil))
    return NO;

UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;
cameraUI.allowsEditing = NO;
cameraUI.delegate = delegate;

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

return YES;

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    NSLog(@"photo taken");
}

因此,当用户单击按钮时,我会在 View 中拍摄出现的照片。但是屏幕是黑色的,当我点击按钮拍照时,什么也没有....并且没有调用 didFinishPickingMediaWithInfo。

(我看到了更多的主题,但我没有找到任何解决这个问题的方法。)

谢谢,

最佳答案

确保在主线程上运行 UIKit 操作。还要检查您的应用是否有权使用相机 [在设备设置中]。

关于iPad 上的 iOS UIImagePickerController 黑屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28585628/

相关文章:

ios - 如何将派生类方法委托(delegate)给协议(protocol)方法?

ios - 如何允许图像调整 4 英寸 iphone 5 的大小

ios - 与导航 Controller 的协议(protocol)

objective-c - 处理 Objective C 中的无限循环

ios - UItextfields 之间的 UIToolbar 导航

iphone - 交换 SQLite 数据库中项目的顺序

ios - 不允许在 App 内购买

iphone - 如何重命名文档目录中的文件?

iphone - 如何在不造成内存泄漏的情况下清除自定义对象的 NSMutableArray?

iphone - iOS - 通过方法返回传递 NSMutableArray