在我的应用中,我试图在UIImagePicker
中默认使用前置摄像头。我知道,看起来很简单......
imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
现在,我第一次启动我的选择器时一切正常并且前置摄像头已初始化,但是当拾取器被解除时,再次显示后置摄像头。从那里开始,如果我连续打开和关闭拾取器,相机使用的将是:正面,背面,正面,背面,正面,背面......
我已经将这些代码剥离到了试图隔离问题的选择器的基础知识,并且它仍然存在。有没有人遇到过这个问题?任何指针或方向都将非常感谢!
编辑:问题解决了!我在imagePicker = [[UIImagePickerController alloc] init];
而不是viewDidLoad
中呼叫viewDidAppear
!
答案 0 :(得分:5)
问题必须是您尝试初始化/显示/关闭控制器的方式。
那么,为什么在相机之间来回呢?
似乎潜在的AVCaptureSession
由于某种原因在解除控制器后仍然运行。因此,下次你提出它时,它试图添加输入,但它很忙,所以转到下一个可用(后置摄像头),自行中断(从而释放前一个)等等。