UIImagePickerController interfaceOrientation总是以portrit的形式出现

时间:2013-08-09 03:10:12

标签: iphone ios objective-c

我正在尝试捕获正在呈现的UIImagePickerController的当前方向,并相应地更改叠加视图的hidden属性。

if([notification.name isEqualToString:@"UIDeviceOrientationDidChangeNotification"]) {
        UIInterfaceOrientation orientation = self.cameraImagePicker.interfaceOrientation;
        if(orientation == UIInterfaceOrientationPortrait) {
            self.cameraImagePicker.cameraOverlayView.hidden = NO;
        } else {
            self.cameraImagePicker.cameraOverlayView.hidden = YES;
        }
    }

但是,orientation == UIInterfaceOrientationPortrait即使我旋转相机,但每次设备旋转时都会调用此方法。

注意:我的应用程序仅根据项目文件支持纵向方向,但UIImagePickerController仍以某种方式支持旋转

非常感谢您对此问题的任何帮助!

1 个答案:

答案 0 :(得分:0)

在iOS6之后,苹果改变了方向API。你可以在你的appdelegate中尝试这种方法,我希望它可以帮助你。

- (NSUInteger)application:(UIApplication *)application  supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    return UIInterfaceOrientationMaskPortrait;
}