我有一个根视图控制器,可以从中进入下一个场景。这个新的视图控制器呈现的UIImagePickerController并选择前置摄像头启动里面viewDidLoad中:UIImagePickerController每次启动都会显示错误的摄像头设备
cameraUI.cameraDevice=UIImagePickerControllerCameraDeviceFront;
这工作,所以frontcamera选择,并得到显示。我拍照,然后去下一个场景。然后我退出并返回到根视图控制器。我再次进入下一个场景,再次加载一个UIImagePickerController(当它再次进入viewDidLoad时,所以这个工作)。在viewDidLoad里面,再次用上面的代码选择前置摄像头。
但是! UIImagePickerController现在只显示后置摄像头!如果我第三次返回到根视图控制器并重新加载UIImagePickerController,现在它会像它应该那样显示前置摄像头。第四次显示后置摄像头等。
我调试过它,每次它跳到上面的代码行像预期的一样,所以我不明白为什么后面的摄像头每隔两次显示一次?
如果你发布了更多的代码,也许涉及到相机的所有代码,这将是一件好事。你有没有在实际的相机设备上试过NSLog?只是为了确保它每次都被正确设置。也许可以在执行中进一步移动这条线。 – 2012-02-29 18:51:49