UIImagePickerController避免在拍摄照片后使用/重试视图而不禁用其他控件

And*_*nov 5 uiimagepickercontroller ios ios5

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

这样做:

imagePicker.showsCameraControls = NO;
Run Code Online (Sandbox Code Playgroud)

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

she*_*ein 9

不幸的是,Apple没有正确的方法来做到这一点.所以这里有你的选择:

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

https://github.com/Shein/CameraFeedUnderlay

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

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

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


jer*_*rik 5

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

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

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