方向不支持ios6设备

时间:2013-06-22 06:24:31

标签: iphone ios ipad ios6

我有一个基于xcode 4.2的应用程序,它只支持纵向方向,它适用于除ios6之外的所有设备..在Ios 6设备中它显示两个方向..我只需要纵向...我正在使用导航控制器.. IN appdelegate ::

- (BOOL)shouldAutorotate
{

      return ([[UIDevice currentDevice] orientation]==UIInterfaceOrientationPortrait);
}


- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
     return (UIInterfaceOrientationMaskPortrait);
}

在其他viewControllers ::

- (BOOL)shouldAutorotate {
    return YES;
}

- (void)viewDidLayoutSubviews
{
    DisplayFunctionName;
    NSLog(@"orientation: %d",self.interfaceOrientation);
}

- (NSUInteger)supportedInterfaceOrientations
{
    if (UI_USER_INTERFACE_IDIOM()==UIUserInterfaceIdiomPad)
    {
        return (UIInterfaceOrientationMaskAll);
    }
    else
    {
        return (UIInterfaceOrientationMaskPortrait);
    }
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    DisplayFunctionName;
    NSLog(@"orientation: %d",interfaceOrientation);
      return (interfaceOrientation==UIInterfaceOrientationPortrait);

}

3 个答案:

答案 0 :(得分:2)

在IOS6中,当您想要某些视图的纵向方向以及某些您想要横向方向时,处理方向很困难,但如果您只想为整个应用程序提供一个方向支持,则非常容易。简单转到支持文件,然后在您的应用中打开info.plist并删除除您想要的所有其他方向..以下是几个屏幕截图,可帮助您解决问题

enter image description here

enter image description here

删除所有其他方向后,您的info.plist将如下所示 enter image description here

我希望它适合你。谢谢

答案 1 :(得分:1)

iOS 6

<强> shouldAutorotateToInterfaceOrientation : 已弃用并替换为

<强> shouldAutorotate

请检查:https://stackoverflow.com/a/14938444/305135

答案 2 :(得分:0)

尝试使用这些,

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationPortrait;
}

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    return UIInterfaceOrientationPortrait;
}