我正在制作照片视图控制器,以便在纵向和横向视图中显示一些照片。我所做的是使用下面的代码编辑-(BOOL)shouldAutorotateToInterfaceOrientation
方向,但在xcode中测试时(菜单硬件>向右旋转),视图不会在横向上旋转。我做了什么事都错了?
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
视图控制器是基于选项卡的iphone应用程序的一部分,此视图不是根视图:这是问题吗?
答案 0 :(得分:1)
同时检查您支持的方向。对于XCode 4(项目 - >摘要(标签) - >支持的设备方向 - >所需的方向)。
答案 1 :(得分:1)
我的第一个想法是return true;
,以确保传入的参数/你的比较没有问题(对我来说看起来不错,但你永远不知道)。
接下来会是,如果这个视图没有直接附加到窗口(或者如果你使用的是xib的话,那么其他顶层对象)你可能还必须在任何父视图中返回true。为了测试,您可能只想覆盖:
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIIinterfaceOrientation)interfaceOrientation
{
return true;
}
表示树中的所有视图(控制器)。
答案 2 :(得分:1)
这可能只是一个错字,但不是UIIinterfaceOrientation
,而是UIInterfaceOrientation
答案 3 :(得分:0)
您要覆盖的方法是shouldAutorotateToInterfaceOrientation
。您的方法签名缺少最后的Orientation
。
答案 4 :(得分:0)
确保实现此方法的ViewController是窗口的rootViewController。
此外,使用return (interfaceOrientation != UIIinterfaceOrientationPortraitUpsideDown)
更好阅读。 ;)
-shouldAutorotateToInterfaceOrientation会被调用吗?尝试使用此方法记录内容......
答案 5 :(得分:0)
您找错了地方:在RootViewController.m
文件中查找以下代码:
#elif GAME_AUTOROTATION == kGameAutorotationUIViewController
//
//lots of useless comments
//
return (UIInterfaceOrientationIsPortrait(interfaceOrientation) ); //THIS LINE HERE
返回的行(UIInterface ... Portrait)是决定应用程序旋转功能的行。您可以将其更改为允许您完全旋转,保持某个方向或任何您想要的任何内容......
也在此
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIIinterfaceOrientation)interfaceOrientation
{
/* return (interfaceOrientation == UIIinterfaceOrientationPortrait || interfaceOrientation == UIIinterfaceOrientationLandscapeLeft || interfaceOrientation == UIIinterfaceOrientationLandscapeRight); */ //GET RID OF ALL THIS CRAP
return true; //do this instead, and if this doesn't work, try return YES;
}
答案 6 :(得分:0)
我不确定这是类型错误还是版本差异,在我最新的Xcode中,方法是这样的:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
并且效果很好,你是否错过了参数的“to”?