是否可以在 UIImagePickerController 中以编程方式调用 didFinishPickingMediaWithInfo
Is it possible to Invoke didFinishPickingMediaWithInfo programmatically in UIImagePickerController
当我尝试使用 UIImagePickerController 在 ios 中捕获图像时,我执行以下操作
- 检查摄像头访问权限
- 显示图像选择器
- 在委托方法中添加逻辑 - didFinishPickingMediaWithInfo。
但是,在显示图像选择器后,用户单击相机按钮。之后,图像以 "Retake" 和 "Use Photo" 作为选项加载为预览。只有当我单击“使用照片”时,才会调用 didFinishPickingMediaWithInfo。我想摆脱用户通过单击“使用照片”进行确认的步骤。
我想在用户点击相机按钮时调用 didFinishPickingMediaWithInfo。
更新:
更好地控制 Camera 的方法是使用 AVFoundation。
使用 UIImagePickerController 不应发生这种情况。所以你有两个选择:
- 1) 使用 PreviewLayer 等构建您自己的相机 ViewController(干净的解决方案)或
2) 监听私有 API 通知,它会在某些事件发生时告诉您。您可以像这样将自己添加为所有系统通知的观察者:
[[NSNotifcationCenter 默认中心] addObserver:self
选择器:@selector(notificationReceived:) name:nil object:nil]
找出您感兴趣的通知。然后在它发生时听取并采取行动(关闭 VC)。虽然不确定您将如何接收图像。这将需要更多私人 APIs 的 hackery.. 请注意,这里所有的第二个解决方案可能会使您的应用程序被拒绝。
当我尝试使用 UIImagePickerController 在 ios 中捕获图像时,我执行以下操作
- 检查摄像头访问权限
- 显示图像选择器
- 在委托方法中添加逻辑 - didFinishPickingMediaWithInfo。
但是,在显示图像选择器后,用户单击相机按钮。之后,图像以 "Retake" 和 "Use Photo" 作为选项加载为预览。只有当我单击“使用照片”时,才会调用 didFinishPickingMediaWithInfo。我想摆脱用户通过单击“使用照片”进行确认的步骤。
我想在用户点击相机按钮时调用 didFinishPickingMediaWithInfo。
更新: 更好地控制 Camera 的方法是使用 AVFoundation。
使用 UIImagePickerController 不应发生这种情况。所以你有两个选择:
- 1) 使用 PreviewLayer 等构建您自己的相机 ViewController(干净的解决方案)或
2) 监听私有 API 通知,它会在某些事件发生时告诉您。您可以像这样将自己添加为所有系统通知的观察者:
[[NSNotifcationCenter 默认中心] addObserver:self 选择器:@selector(notificationReceived:) name:nil object:nil]
找出您感兴趣的通知。然后在它发生时听取并采取行动(关闭 VC)。虽然不确定您将如何接收图像。这将需要更多私人 APIs 的 hackery.. 请注意,这里所有的第二个解决方案可能会使您的应用程序被拒绝。