在iOS6中,当设备处于横向模式时,如何在UIImagePicker上旋转UIAlertViews?它们只是纵向加载,但应用程序只是横向。我不得不手动旋转自定义cameraOverlayView(UIView),但我不知道如何使用警报执行此操作?
答案 0 :(得分:1)
问题是UIImagePickerController仅支持纵向模式:
来自Apple文档 UIImagePickerController类仅支持纵向模式。此类旨在按原样使用,不支持子类化。此类的视图层次结构是私有的,不得修改,但有一个例外。您可以将自定义视图分配给cameraOverlayView属性,并使用该视图显示其他信息或管理相机界面与代码之间的交互。
因此,当选择器打开时,设备方向报告为纵向,UIAlertView以纵向模式显示。 当然,使用一些“黑客”你可以旋转UIAlertView,但该应用程序可能会在审查期间被拒绝。
唯一“合法”的方式是创建自己的图像选择器
答案 1 :(得分:0)
为此,您需要继承UIImagePicker
类。
@interface yourImagePicker :UIImagePicker
{
}
@end
您需要在实现中实现shouldAutoRotate
方法并仅返回横向模式
@implementation yourImagePicker
- (BOOL)shouldAutorotate
{
return [[UIDevice currentDevice] orientation] != UIInterfaceOrientationPortrait;
}
@end
您需要创建yourImagePicker
个实例而不是UIImagePicker