首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不使用故事板的IOS 6屏幕旋转

不使用故事板的IOS 6屏幕旋转
EN

Stack Overflow用户
提问于 2012-07-18 23:01:45
回答 3查看 11.9K关注 0票数 7

任何正在尝试最新的iOS 6测试版(版本2或3)的人都有同样的自动旋转不工作的经历吗?

我使用的不是故事板,而是纯导航控件:

代码语言:javascript
运行
复制
self.navController = [[UINavigationController alloc] initWithRootViewController:self.viewController];
[self.window addSubview:navController.view];

并具备:

代码语言:javascript
运行
复制
- (BOOL)shouldAutorotateToInterfaceOrientation: ](UIInterfaceOrientation)interfaceOrientation
{
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
} else {
    return YES;
}
}

- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAllButUpsideDown;
}

但是IOS根本没有支持,在3GS/4S和4.3,5.0.5.1模拟器上与所有以前的iOS都能很好地工作,但iOS 6似乎有问题

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-07 19:10:02

解决方案是:由于我的应用程序试图支持4.3+,所以我必须使用导航控制器来进行每个视图切换。

通过ios6似乎委托给导航控制器,我必须定义我自己的导航控制器,并设置条件和函数来改变它的旋转行为。

当我加载一个视图时,我会这样做(self.navigationCOntroller setEnableLandscape:(BOOL)false)。这样,您就拥有了导航控制器的完整控制器。

注意:我确实尝试过覆盖导航控制器方法,但似乎被忽略了。(这也只发生在ios 6.0上),还没有测试6.1,所以不确定它是否得到了修复(如果修复了,请告诉我)

票数 0
EN

Stack Overflow用户

发布于 2012-07-18 23:04:24

在iOS 6中,自动旋转发生了变化。在iOS 6中,不推荐使用UIViewControllershouldAutorotateToInterfaceOrientation:方法。取而代之的是,您应该使用supportedInterfaceOrientationsshouldAutorotate方法。

Read more here

票数 10
EN

Stack Overflow用户

发布于 2012-10-02 14:40:30

代替[self.window addSubview:navController.view];

插入self.window.rootViewController = navController;

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

https://stackoverflow.com/questions/11544382

复制
相关文章

相似问题

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