通用应用程序中的iOS 6.0定位问题

时间:2013-03-18 20:01:24

标签: iphone ios objective-c ipad uiinterfaceorientation

我的应用有UIViewController作为根视图控制器(不是TabBarNavigationController应用!)。这个应用程序是通用的它应该始终是iPhone的肖像,并始终是iPad的风景。

我尝试了以下内容,但我认为这是iOS 5代码,因为它未在iOS 6中调用:

    - (BOOL)shouldAutorotate
{
    return YES;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
    {
        return (interfaceOrientation == UIInterfaceOrientationPortrait);
    }
    else
    {
        return (interfaceOrientation == (UIInterfaceOrientationLandscapeLeft | UIInterfaceOrientationLandscapeRight));
    }
}

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

以下是iOS 6的代码集。它使用了掩码。如果它是整个iPhone的一个方向和iPad的一个方向,那么在项目级别,你可以通过取消选择与你不想要的方向相关的按钮来设置它。也就是说,如果iPhone中的所有视图都是相同的,那么iPad也适用。如果您想使用代码执行此操作,则以下操作将完成:

- (BOOL) shouldAutorotate
{
return YES;
}

-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskLandscapeLeft   | UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskPortraitUpsideDown;
}

只需采取您不想使用的方向。如果您需要更多帮助,请告诉我。