UIImagePickerController如何从后置摄像头到前置摄像头进行动画切换?

Meg*_*anX 21 iphone camera uiimagepickercontroller uiviewanimation

我一直在使用自定义覆盖UIImagePickerController控制器,一切正常.我已经添加了按钮,可以在前后摄像头之间切换 -

 - (IBAction)changeCamera:(id)sender {
if (self.imagePicker.cameraDevice == UIImagePickerControllerCameraDeviceRear) {
    self.imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceFront;
}
else {
    self.imagePicker.cameraDevice = UIImagePickerControllerCameraDeviceRear;
}
}
Run Code Online (Sandbox Code Playgroud)

问题是,开关没有动画.我一直在使用建立在UIImagePicker之上的苹果相机应用程序,并且开关正在发生动画.我该怎么做呢?

小智 24

我今天试图这样做,我能够使用以下代码:

[UIView transitionWithView:imagePickerController.view duration:1.0 options:UIViewAnimationOptionAllowAnimatedContent | UIViewAnimationOptionTransitionFlipFromLeft animations:^{
            imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceRear;
        } completion:NULL];
Run Code Online (Sandbox Code Playgroud)

我希望这有助于任何遇到这个问题的人.


Mr *_*nev 5

如果有人需要,下面是接受的答案的Swift代码:

UIView.transitionWithView(imagePickerController.view!, duration: 1.0, options: [.AllowAnimatedContent, .TransitionFlipFromLeft], animations: {() -> Void in
            imagePickerController.cameraDevice = .Rear
            }, completion: nil)
Run Code Online (Sandbox Code Playgroud)

谢谢巴勃罗!