uiimagepicker 用于显示相机

Posted

技术标签:

【中文标题】uiimagepicker 用于显示相机【英文标题】:Uiimagepicker For showing camera 【发布时间】:2010-11-03 10:09:57 【问题描述】:

大家好,我正在尝试制作一个相机应用程序。我这样做是为了

picker.sourceType = UIImagePickerControllerSourceTypeCamera;

其中picker是UIimagepicker控制器的对象。

但是当运行代码时,应用程序会终止并显示错误。

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“源类型 1 不可用”

我在模拟器上使用它。我知道无法在模拟器中检查相机,但我们可以对此进行测试。我认为可能是因为相机不可用,这就是它终止的原因。 但我看到一个应用程序具有相同的代码,但它在模拟器上运行,只显示相机视图。 只是帮我解决这个问题。此外,如何将我的自定义视图放到该应用中的相机上?

【问题讨论】:

【参考方案1】:

在设置 sourcetype 之前,您需要检查设备是否有可用的摄像头。

以下可以检查设备是否有相机可用。

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])  

您无法从模拟器中检查相机功能。您可以指定UIImagePickerControllerSourceTypePhotoLibrary 作为 sourceType 在模拟器上进行测试。

【讨论】:

谢谢 Chaitanya 我已经做到了,但我想知道该应用程序如何在模拟器上显示相机视图,但由于需要硬件而无法点击。 操作系统需要驱动程序来操作外部设备。 ios 没有 MacBook 摄像头的驱动程序。【参考方案2】:

斯威夫特 2.2

if UIImagePickerController.isSourceTypeAvailable(.Camera) 
  imagePicker.delegate = self
  imagePicker.sourceType = .Camera
  presentViewController(imagePicker, animated: true, completion: nil)
 else 
  print("The device has no camera")

已保存的相册

if UIImagePickerController.isSourceTypeAvailable(.SavedPhotosAlbum) 
  imagePicker.delegate = self
  imagePicker.sourceType = .SavedPhotosAlbum
  imagePicker.allowsEditing = false
  self.presentViewController(imagePicker, animated: true, completion: nil)

【讨论】:

【参考方案3】:

在发生异常的地方放置代码。记住你需要实现 navigationController

 if (![UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) 
            UIAlertController *alertView = [UIAlertController alertControllerWithTitle:@"ERROR" message:@"No Camera Avalible" preferredStyle:UIAlertControllerStyleAlert];

        UIAlertAction *ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) 
            [self dismissViewControllerAnimated:alertView completion:nil];
        ];
        [alertView addAction:ok];
        [self.navigationController presentViewController:alertView animated:YES completion:nil];
    

【讨论】:

以上是关于uiimagepicker 用于显示相机的主要内容,如果未能解决你的问题,请参考以下文章

带摄像头的 iPhone UIImagepicker 像默认摄像头应用一样显示相机胶卷缩略图?

如何在 iOS 的某些文件输入字段上获取 UIWebView 中 UIImagePicker 选择的图像?

iOS 7 UIImagePicker 预览黑屏

UIIMagePicker 相机横向方向问题

UIImagePicker 的内存问题

更改 UIImagePicker 纵横比