1

在我的应用程序的构建设置中,我检查了所有支持的方向(除了倒置)。

但是,当我启动应用程序时,某些不打算以纵向显示的视图将自动旋转并截断一半视图。我不希望这些视图旋转。

我怎样才能防止这种情况?我试过使用:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft)
    return YES;
if(interfaceOrientation == UIInterfaceOrientationLandscapeRight)
    return YES;

return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

但是该设备仍然希望在可能的情况下转为纵向。任何帮助都会很棒。

4

3 回答 3

0

shouldAutorotateToInterfaceOrientation已弃用。新的替代品是shouldAutoRotate. 为了在返回值之前在界面方向之间进行识别shouldAutoRotate,请使用interfaceOrientationUIViewControllers 的属性。例如,你可以有这样的东西:

-(BOOL)shouldAutoRotate{
    if (self.interfaceOrientation == UIInterfaceOrientationPortrait){
        return YES;
    }
    else {
        return NO;
    }
}
于 2012-10-17T04:18:31.433 回答
0

此方法已弃用,不会在 iOS 6 中调用。有关更多信息,请参阅 Apple 的文档或关于 SO 的一千个问题之一。

于 2012-10-16T23:24:18.987 回答
0

您不想旋转的视图是否嵌入在导航栏或选项卡栏中?如果是这样,我也面临同样的问题。您需要为选项卡栏/导航栏分配一个类,并将 ios 6 的新方法覆盖为:

-(BOOL)shouldAutoRotate
{
return NO;
}

让我知道这是否是您的问题类型。我还必须使用 NSNotificationCenter 实现方向更改,以便允许在我的一个子视图上进行旋转。如果这是您要找的东西,我会发布。

让我知道!

于 2012-10-17T00:15:10.907 回答