如何在iPhone中旋转相机预览模式

时间:2012-10-16 07:02:45

标签: iphone

我正在尝试使用相机拍摄图像时旋转UIImage。但是,我只能在portrait模式下进行预览。如何以landscape模式显示预览图像?

1 个答案:

答案 0 :(得分:0)

UIImagePickerController

Reading the documentation揭示了这个有趣的消息:

  

UIImagePickerController类仅支持纵向模式。这个   class旨在按原样使用,不支持子类化。

尽管苹果公司警告说,还有一种做法:

您可以在委托类中订阅轮换通知:

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

然后,根据设备的当前轮播,您可以将CGAffineTransform应用于叠加层视图。这种变换的一个例子可以是found here。这个特定的答案对iOS 6没有帮助,因为永远不会对你的shouldAutorotateToInterfaceOrientation子类进行UIViewController次调用。您最好的版本策略是订阅通知。请记住,您在这里需要完整的手册,最好的办法是找出一种只支持肖像模式的方法。

此外,请确保在完成后平衡通知呼叫与此呼叫:

[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];