UIImagePickerController – 默认情况下如何访问前置摄像头?

我使用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的前置摄像头而不是后置摄像头? 我试过DeviceFront无济于事。

此外,如何在按下grabCamera后在此相机的顶部添加子视图(半尺寸)? 如果我在我的MainWindow.xib中有这个子视图,我在说完presentModalViewController代码之后尝试说addSubview但是它不起作用…我是否需要创建一个NSTimer并在完全呈现相机显示后加载addSubview或者我需要使用其他东西(类似于CSS中的z-index)第二个问题的答案是imgPicker.cameraOverlayView = viewName;

谢谢大家!

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

Objective-C的

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

斯威夫特2

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

斯威夫特3

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