在我的通用应用程序中,我需要为 iphone 和 ipad 处理不同的方向。对于 ipad,我需要允许横向和单独的 iphone 纵向。我首先返回了以下代码
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
return UIInterfaceOrientationIsPortrait(interfaceOrientation);
return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}
在 IOS 5 中运行良好但在 IOS 6 中自动旋转方法根本没有被触发。之后,我将方法更改为,
-(BOOL)shouldAutorotate
{
return NO;
}
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return UIInterfaceOrientationMaskPortrait;
}
甚至这种方法在 IOS 6 中也根本没有触发。
我的 plist 设置是
我需要为 IOS 5 和 IOS 6 处理两个方向 [iPhone-portrait,iPad-landscape]。请指导我解决此问题。