我正在尝试使用相机拍摄图像时旋转UIImage
。但是,我只能在portrait
模式下进行预览。如何以landscape
模式显示预览图像?
答案 0 :(得分:0)
UIImagePickerController
的Reading the documentation揭示了这个有趣的消息:
UIImagePickerController类仅支持纵向模式。这个 class旨在按原样使用,不支持子类化。
尽管苹果公司警告说,还有一种做法:
您可以在委托类中订阅轮换通知:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
然后,根据设备的当前轮播,您可以将CGAffineTransform
应用于叠加层视图。这种变换的一个例子可以是found here。这个特定的答案对iOS 6没有帮助,因为永远不会对你的shouldAutorotateToInterfaceOrientation
子类进行UIViewController
次调用。您最好的版本策略是订阅通知。请记住,您在这里需要完整的手册,最好的办法是找出一种只支持肖像模式的方法。
此外,请确保在完成后平衡通知呼叫与此呼叫:
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];