我有一个UIViewController,我想在不同情况下禁用或启用屏幕旋转
例:
if flag { rotateDevice = false } else { rotateDevice = true }
我怎样才能做到这一点?
我有答案。在上AppDelegate,如果您旋转设备,按下ViewController等,则始终调用此函数
AppDelegate
迅速 更新 3/4
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask { return self.restrictRotation }
self.restrictRotation 是自定义参数。
self.restrictRotation
如何使用:
在Appdelegate中:
var restrictRotation:UIInterfaceOrientationMask = .portrait
在ViewController中:
调用方法ViewDidLoad或viewWillAppear时。我们将这样更改:
(UIApplication.shared.delegate as! AppDelegate).restrictRotation = .all
然后将在AppDelegate上调用此方法。
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask