didFinishPickingMediaWithInfo

didFinishPickingMediaWithInfo

当我尝试使用UIImagePickerController在ios中捕获图像时,请执行以下操作


检查相机访问权限
展示图像选择器
在委托方法-didFinishPickingMediaWithInfo中添加逻辑。


但是,在显示图像选择器之后,用户单击“相机按钮”。之后,将图像作为预览加载,并带有“重新拍摄”和“使用照片”作为选项。只有当我单击“使用照片”时,didFinishPickingMediaWithInfo才会被调用。我想摆脱用户通过单击“使用照片”进行确认的步骤。

当用户单击“相机”按钮时,我想调用didFinishPickingMediaWithInfo。

更新:
更好地控制相机的一种更好方法是使用AVFoundation。

最佳答案

使用UIImagePickerController不会发生这种情况。因此,您有两种选择:


1)使用PreviewLayer等构建您自己的Camera ViewController(干净的解决方案),或者
2)侦听私有API通知,该通知将告诉您某些事件的发生时间。您可以将自己作为观察者添加到所有系统通知中,如下所示:

[[NSNotifcationCenter defaultCenter] addObserver:self
选择器:@选择器(notificationReceived :)名称:无对象:无]


找出您感兴趣的通知。然后聆听并采取措施(关闭VC)(发生时)。虽然不确定您将如何接收图像。这将需要使用私有API的更多黑客手段。

09-04 21:47