我想通过使用Swift的按钮以编程方式禁用或启用自动旋转功能。我当时以为可以使用supportedInterfaceOrientations()
函数完成此操作,但是在查阅有关如何完成操作的文献后,我感到非常困惑。有一个简单的解决方案吗?
最佳答案
您可以为按钮创建一个操作,该操作在代码中的某个位置设置布尔标志,并在视图控制器的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