6

我想在拍照后避免使用/重试视图,而不禁用让我拍照的默认 Apple 相机控件。

这样做:

imagePicker.showsCameraControls = NO;

导致所有相机控件消失。还有其他方法吗?

4

3 回答 3

9

不幸的是,Apple 没有提供适当的方法来做到这一点。所以这里有你的选择:

  1. showCameraControls = NO 并添加您自己的控件。
  2. 去铁杆并使用 AVFoundation - 但是你需要自己的控件 - 可能不是你想要做的,但如果你有兴趣,我在这里有一个示例应用程序:

https://github.com/Shein/CameraFeedUnderlay

  1. 绕过它 - 将您自己的按钮放在相机控制播放按钮的顶部并覆盖操作以拍摄照片,就像没有相机控制并直接关闭 UIImagePickerController 一样。

这里有一个这种解决方案的例子:

iPhone SDK - 如何在 UIImagePickerController 中禁用图片预览?

于 2012-04-21T05:54:39.953 回答
5

也许这会有所帮助。您可以imagePicker.showsCameraControls = YES;配合NSNotificationCenter收听@"_UIImagePickerControllerUserDidCaptureItem" 和@"_UIImagePickerControllerUserDidRejectItem" 使用。

进入 @"_UIImagePickerControllerUserDidCaptureItem" 状态时,您可以关闭UIImagePickerController.

我有一个类似的问题,在进入预览视图时隐藏了一个覆盖。我可以用这种方法解决问题

于 2014-05-27T22:02:23.683 回答
4

您可以自定义图像选择器控制器来自己管理用户交互。为此,请提供一个包含您要显示的控件的覆盖视图,并使用“捕获静止图像或电影”中描述的方法。除了或代替默认控件,您还可以显示自定义叠加视图。UIImagePickerController 类的自定义覆盖视图在 iOS 3.1 及更高版本中可通过cameraOverlayView属性获得。有关代码示例,请参阅PhotoPicker示例代码项目。

从此您可以创建自己的 customCameraView 来显示您自己需要显示的控件

于 2012-04-21T05:53:28.600 回答