UIImagePickerControllerCameraDeviceFront只能每隔一段时间运行一次

时间:2012-06-10 07:54:15

标签: objective-c ios cocoa-touch uiimagepickercontroller

在我的应用中,我试图在UIImagePicker中默认使用前置摄像头。我知道,看起来很简单......

imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;

现在,我第一次启动我的选择器时一切正常并且前置摄像头已初始化,但是当拾取器被解除时,再次显示后置摄像头。从那里开始,如果我连续打开和关闭拾取器,相机使用的将是:正面,背面,正面,背面,正面,背面......

我已经将这些代码剥离到了试图隔离问题的选择器的基础知识,并且它仍然存在。有没有人遇到过这个问题?任何指针或方向都将非常感谢!

编辑:问题解决了!我在imagePicker = [[UIImagePickerController alloc] init];而不是viewDidLoad中呼叫viewDidAppear

1 个答案:

答案 0 :(得分:5)

问题必须是您尝试初始化/显示/关闭控制器的方式。

那么,为什么在相机之间来回呢?

似乎潜在的AVCaptureSession由于某种原因在解除控制器后仍然运行。因此,下次你提出它时,它试图添加输入,但它很忙,所以转到下一个可用(后置摄像头),自行中断(从而释放前一个)等等。