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

标签 ios objective-c swift camera 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 后在此相机顶部添加一个 subview (一半大小)? 如果我的 MainWindow.xib 中有这个 subview ,我尝试在说完 presentModalViewController 代码后只说 addSubview 但它不起作用......我需要创建一个 NSTimer 并在相机显示完全呈现后加载 addSubview 还是我需要用别的东西(类似于CSS中的z-index)第二个问题的答案是imgPicker.cameraOverlayView = viewName;

谢谢大家!

最佳答案

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

关于ios - UIImagePickerController - 默认情况下如何访问前置摄像头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8950011/

相关文章:

ios - 如何预览在 .xib 文件中以编程方式创建的项目?

iphone - 将名称和电子邮件存储在数组列表中时,创建具有电子邮件和名称属性的对象播放器是可行的方法吗?

iphone - 按下 TableView 时单击按钮以记住值

ios - 有没有办法在 iOS 中访问蓝牙 4.0 低功耗设备?

objective-c - 访问全局变量

ios - SwiftUI 将 @Published var 从一个 ObservableObject 映射到另一个

objective-c - 删除 UITableView 单元格之前发出警报 - (UIAlertController) Swift 或 Objective-C

ios - Firebase 云消息传递不适用于 IOS

ios - UITableViewCell 作为进度指示器

ios - 需要有关自动布局的帮助