AlertView在ios7中不能旋转?

时间:2013-11-26 15:34:23

标签: ios ios7 uialertview uiinterfaceorientation

我们的应用仅支持横向模式,需要支持iOS5.1& 6.0& 7.0。 Bynow,我们设置了rootviewcontroller和                     BaseSdk:7.0                     DeploymentTarget:5.1

我们的应用程序在iOS 5和ios 6中运行良好。 但是在iOS7中,当存在alertview并且用户旋转到肖像时,alertview也会旋转到potrait,这在iOS5& 6。 此外,一旦alertview进入肖像,它就不会旋转到横向。

注意:我的ViewController的方向很好。它始终只支持Landscape。

2 个答案:

答案 0 :(得分:2)

我通过实现supportedInterfaceOrientations方法解决了这个问题: 在我只使用

之前
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    if (landscapeOnly) {
        return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
    }
    else {
        return YES;
    }
}

现在我已经实现了supportedInterfaceOrientations方法。因为当出现警报视图时,会自动调用supportedInterfaceOrientations。

-(NSUInteger)supportedInterfaceOrientations{
    if (landscapeOnly) {
        return ((1 << UIInterfaceOrientationLandscapeLeft) | (1 << UIInterfaceOrientationLandscapeRight));
    }
    else{
        return ((1 << UIInterfaceOrientationLandscapeLeft) | (1 << UIInterfaceOrientationLandscapeRight) | (1 << UIInterfaceOrientationPortrait) | (1 << UIInterfaceOrientationPortraitUpsideDown));
    }
}

(1&lt;&lt; UIInterfaceOrientationLandscapeLeft)用于UIInterfaceOrientationMaskLandscape

答案 1 :(得分:0)