Xcode 8 beta 4中的shouldAutorotate()函数

17

我将 Xcode 8 beta 3 更新至 Xcode 8 beta 4,并且正在修复一些由 Swift 更改引起的错误。

功能:

    override func shouldAutorotate() -> Bool {
    return false
}

打印错误信息,Xcode告诉我这个函数没有被重写。这意味着这个函数不再存在。

override var shouldAutorotate

这个变量只获取了属性,所以我不能通过这种方式更改它的值。

那么现在我该如何使用自动旋转?

谢谢!


self.shouldAutorotate = false ? self.shouldAutorotate = false? - Lu_
就像我说的,这是一个获取属性的方法,所以我不能通过这种方式更改值 ;) - Logan Gallois
当你开始输入 shouldAuto...?时,Xcode 试图自动补全什么?错误提示说它不再是重写,而不是不存在了。 - Lu_
我查看了UIViewController的定义,但没有找到该函数。 只有这些函数:"ShouldAutorotate: Bool"、"ShouldAutomaticallyForwardAppaeranceMethod: Bool"和"Should ShouldAutomaticallyForwardRotationMethod() -> Bool"。 - Logan Gallois
这只是特定的视图,我已经将参数设置到我的项目设置中了 ;) - Logan Gallois
3个回答

32

这是正确的方式

override var shouldAutorotate: Bool {
    return false
}

8

Swift 3语法

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

0

Swift 4

open override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
    return .landscape
}

open override var shouldAutorotate: Bool {
    return false
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接