使用Swift以编程方式启用和禁用自动旋转?

时间:2015-12-25 11:01:32

标签: ios iphone swift ios9

我想使用Swift按钮以编程方式禁用或启用自动旋转功能。我在想它可能以某种方式使用supportedInterfaceOrientations()函数完成,但在查看有关如何完成的文献后我感到非常困惑。对此有一个简单的解决方案吗?

1 个答案:

答案 0 :(得分:5)

您可以为按钮创建一个操作,该操作在代码中的某处设置一个布尔标志,并在视图控制器的shouldAutorotate方法中返回该标志的值。如果您需要为所有视图控制器创建一个公共基本视图控制器(继承)。

按钮操作示例:

@IBAction func toggleRotation(sender: Button) {
    // A made up AppConfig class with class method for setting and retrieving 
    // rotation flag.
    AppConfig.allowRotation(!AppConfig.allowRotation)
}

shouldAutorotate示例:

override func shouldAutorotate() -> Bool {
    return AppConfig.allowRotation()
}

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/#//apple_ref/occ/instm/UIViewController/shouldAutorotate