UIImagePickerController - 如何默认访问前置摄像头?

37

我正在从我的ViewController使用以下代码打开相机:

- (void)viewDidLoad {
    self.imgPicker = [[UIImagePickerController alloc] init];
    self.imgPicker.sourceType = UIImagePickerControllerCameraDeviceFront;
    self.imgPicker.delegate = self;     
}

- (IBAction)grabCamera {
    [self presentModalViewController:self.imgPicker animated:YES];
}

如何使 iPhone4 默认使用前置摄像头而不是后置摄像头?

1个回答

80

UIImagePickerControllerCameraDeviceFront 不是 sourceType 属性的有效枚举值。 sourceType 属性定义了您正在使用相机还是照片库。 您需要设置 cameraDevice 属性。

Objective-C

self.imgPicker.sourceType = UIImagePickerControllerSourceTypeCamera;
self.imgPicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;

Swift 2

imgPicker.sourceType = .Camera
imgPicker.cameraDevice = .Front

Swift 3

imgPicker.sourceType = .camera
imgPicker.cameraDevice = .front

@MattyG 是否有可能验证从 UIImagePicker 定义的相机,并通过一个按钮来控制它。 例如: if (_pickerController.cameraDevice == UIImagePickerControllerCameraDeviceFront) { // 更改到另一个相机,反之亦然} - user3976000
你能帮我回答这个特色问题吗?http://stackoverflow.com/questions/41238781/real-time-face-detection-in-iphone-does-not-work - Xcodian Solangi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接