我正在尝试在UIImage
使用相机拍摄图像时旋转一段时间。但是,我portrait
只能在模式下获得预览。如何在landscape
模式下显示预览图像?
问问题
281 次
1 回答
0
阅读文档揭示了UIImagePickerController
这个有趣的花絮:
UIImagePickerController 类仅支持纵向模式。此类旨在按原样使用,不支持子类化。
尽管有 Apple 的警告,但仍有一种处理方式:
您可以在委托类中订阅轮换通知:
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
然后,根据设备的当前旋转,您可以将 a 应用CGAffineTransform
到覆盖视图。可以在此处找到此类转换的示例。该特定答案在 iOS 6 中对您没有帮助,因为shouldAutorotateToInterfaceOrientation
永远不会对您的UIViewController
子类进行调用。您最好的版本策略是订阅通知。请记住,您将在这里进行全手动操作,最好的办法是找出一种仅支持纵向模式的方法。
此外,请确保在完成后平衡通知调用与此调用:
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
于 2012-10-16T07:10:52.990 回答