在我的应用程序的构建设置中,我检查了所有支持的方向(除了颠倒)。
然而,当我启动应用程序时,某些不打算在Portrait中显示的视图将自动旋转并切断视图的一半。我不希望这些视图旋转。
我该如何防止这种情况?香港专业教育学院尝试使用:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft)
return YES;
if(interfaceOrientation == UIInterfaceOrientationLandscapeRight)
return YES;
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
但设备仍然希望尽可能转动人像。任何帮助都会很棒。
答案 0 :(得分:0)
此方法已弃用,不会在iOS 6中调用。有关详细信息,请参阅Apple的文档或关于新方法的关于SO的一千个问题之一。
答案 1 :(得分:0)
您不想在导航或标签栏中嵌入旋转视图吗?如果是这样,我也面临同样的问题。您需要将一个类分配给选项卡栏/导航栏,并将ios 6的新方法覆盖为:
-(BOOL)shouldAutoRotate
{
return NO;
}
如果这是您的问题,请告诉我。我还必须使用NSNotificationCenter实现方向更改,以允许在我的一个子视图上旋转。如果这是你想要的,我会发布如何。
让我知道!
答案 2 :(得分:0)
shouldAutorotateToInterfaceOrientation
已弃用。新的替换是shouldAutoRotate
。为了在返回shouldAutoRotate
的值之前在接口方向之间进行描述,请使用UIViewControllers的interfaceOrientation
属性。例如,你可以这样:
-(BOOL)shouldAutoRotate{
if (self.interfaceOrientation == UIInterfaceOrientationPortrait){
return YES;
}
else {
return NO;
}
}