35

我使用 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;

谢谢大家!

4

1 回答 1

78

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
于 2012-01-21T02:09:49.673 回答