首页
学习
活动
专区
圈层
工具
发布

IOS 6定向
EN

Stack Overflow用户
提问于 2013-08-20 07:05:37
回答 1查看 154关注 0票数 0

我正在做一个项目,并面临一个问题。我的问题是,我正在做一个5.0及以上的项目,我的项目都在纵向视图中,但只有一个视图同时具有视图(景物和肖像),我使用的是NavigationController自定义类,并在自定义导航类中检查这样的方向

代码语言:javascript
复制
    - (NSUInteger)supportedInterfaceOrientations
  {
int interfaceOrientation = 0;

if (self.viewControllers.count > 0)
{
    id viewController;
    for (viewController in self.viewControllers)
    {
       if ([viewController isKindOfClass:([CalenderViewController class])])
        {
            interfaceOrientation = UIInterfaceOrientationMaskAll;
        }
        else
        {
            interfaceOrientation = UIInterfaceOrientationMaskPortrait;
        }
    }
}
return interfaceOrientation;
}` 

CalenderViewController是我的视图,支持这两种视图--当我弹出一个CalenderViewController视图时,这段代码工作得很好,但是当我在CalenderViewController上推一个只有纵向视图的新视图控制器时,新的视图控制器就会保持在景致中,而对于解决方案,它应该处于纵向模式.Looking前进。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-20 12:59:22

在这种情况下,不应该在shouldAutorotate上返回shouldAutorotate。如果这样做,支持的方向甚至不会被检查,您的控制器将卡在最后一个使用的方向上。

相反,只需在YES上返回shouldAutorotate,并在supportedInterfaceOrientations中指定一个方向(纵向),就像您已经做的那样。

返回YES on shouldAutorotate不仅仅是为了当您希望控制器自由地旋转到其他方向时。当您可能需要您的控制器在弹出或推送不同视图后返回到它唯一支持的方向时,也应该使用它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18328889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档