首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁用和启用快速自动旋转?

如何禁用和启用快速自动旋转?
EN

Stack Overflow用户
提问于 2015-05-07 19:49:50
回答 5查看 16.1K关注 0票数 10

在一般设置中,我允许人像和景观设计,陆地景观模式。我想关掉景观模式。在viewController上,我编写了以下代码:

代码语言:javascript
复制
override func shouldAutorotate() -> Bool {

        return false

}

但是,自动旋转忽略了这个函数。我如何禁用和启用自动旋转对迅速?IOS程序设计

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-05-07 19:53:50

它可能是正确的代码,但不是在正确的视图控制器。例如,如果视图控制器嵌入到UINavigationController中,导航控制器仍然可以旋转,从而导致视图控制器仍然旋转。这取决于你的具体情况。

票数 14
EN

Stack Overflow用户

发布于 2015-07-20 14:52:58

我也有同样的问题,我已经解决了。

跟着-

信息->自定义ios目标属性->支持接口组织。和删除

这会帮你的

票数 5
EN

Stack Overflow用户

发布于 2016-03-29 13:21:04

您可以通过创建UINavigationController的子类来做到这一点,然后在该子类中重写应AutoRotate函数。

  • 为要禁用自动转授的viewControllers返回false
  • 对于您想要自动旋转的viewControllers返回true 导入topViewController!.isKindOfClass(ViewController)类CustomNavigationController: UINavigationController {覆盖func shouldAutorotate() -> Bool { If !viewControllers.isEmpty { //检查是否要禁用此viewcontroller,如果此ViewController { //ViewController是最顶层视图控制器的名称//如果真返回假,则禁用它返回假} //否则启用的正常旋转启用返回真}

如果要在整个导航控制器中禁用自动旋转,请删除If条件并始终返回false。

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

https://stackoverflow.com/questions/30110402

复制
相关文章

相似问题

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