当前位置: 首页 > 面试题库 >

覆盖应该在Swift 3中不起作用

东门清夷
2023-03-14
问题内容

我正在尝试防止旋转一个UIViewController,但我无法做到这一点。

我正在做这样的事情:

open override var shouldAutorotate: Bool {
    get {
        return false
    }
}

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    get {
        return .portrait
    }
}

UIViewControler剧照旋转。UIViewController在以模态打开的UINavigationController内部。

从这里开始,我已经看了很多问题,但没有答案适合我。

在Swift 2中,我曾经重写,shouldAutorotate但在Swift 3中,该功能不再存在。

在Swift 3中,我该怎么做?


问题答案:

我不知道为什么要投票才能结束这个问题,如果我能多次重现这种行为。该UIViewController是内部的UINavigationController模态打开。

这是我为解决问题所做的。

我创建这个类和我一组的UINavigationController是拥有这个UIViewController,我想阻止旋转

class NavigationController: UINavigationController {

    override var shouldAutorotate: Bool {
        return false
    }

    override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
        return .portrait
    }

}

就是这样,它对我有用



 类似资料:
  • 问题内容: 今天,我遇到了一个有趣(非常令人沮丧)的方法问题,该问题导致我认为是一个经过良好测试的类崩溃了,并导致了一个错误,使我花了很长时间来追踪。 为了完整起见,我没有使用IDE或调试器-只是老式的文本编辑器和System.out。时间非常有限,这是一个学校项目。 无论如何- 我开发一个基本的购物车可能包含的Book对象。为了贯彻落实,以及对车的方法,我想检查,如果在已经存在。所以我走了 在测

  • 我正在使用用户密钥作为用户表中的主键 它总是显示这样的错误

  • 我正在再次学习一些面向对象的概念,所以我编写了这个简单的代码,只是为了看看重写方法是如何工作的,令人惊讶的是,它不工作了。另外,忽略类名为HelloWorld的事实,它只是一个用于学习目的的文件。它已经改成了Filha。java btw 昨天,错误是线程“main”java中的异常。错误:公共静态void main(String[]args){line中未解决的编译问题,但我关闭了我的计算机,今天

  • 我想知道为什么我们不应该重写非虚拟函数?

  • 问题内容: 我应该为我创建的任何类重写函数吗? 即使是非常简单的类只包含一些非常简单的属性,并通过 平等 ,我需要它的每一个属性是一样的吗? 问题答案: 我应该为我创建的任何类重写equals函数吗? 当(且仅当)对象“表示某些数据”(即,如果它对,或(例如,这些通常以集合等结尾))进行建模时,覆盖。不要覆盖其他类型的类的equals,例如或。 请记住,无论何时重写,都应始终重写。 (一个自然的后

  • 问题内容: 在编写自己的类时,是否总是有必要重写? 如果我不这样做,它将自动检查所有字段是否相同?还是只是检查两个变量是否指向同一个对象? 问题答案: 如果正在编写将要以某种方式比较其对象的类,则应重写和方法。 不提供显式方法将导致从超类继承该方法的行为,并且在超类为类的情况下,它将成为Java API规范中针对该类设定的行为。 提供方法的一般约定可以在该类的文档中找到,特别是and 方法的文档。