iOS。如何在每个UIViewController上启用和禁用旋转?
我有一个UIViewController,我想在不同情况下禁用或启用屏幕旋转
例:
if flag { rotateDevice = false
}
else {
rotateDevice = true
}
我怎样才能做到这一点?
回答:
我有答案。在上AppDelegate
,如果您旋转设备,按下ViewController等,则始终调用此函数
更新
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask{
return 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
以上是 iOS。如何在每个UIViewController上启用和禁用旋转? 的全部内容, 来源链接: utcz.com/qa/426816.html