iOS如何在每个UIViewController上启用和禁用旋转?

【字号: 日期:2024-04-13浏览:33作者:雯心
(adsbygoogle = window.adsbygoogle || []).push({}); 如何解决iOS如何在每个UIViewController上启用和禁用旋转??

我有答案。在上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解决方法

我有一个UIViewController,我想在不同情况下禁用或启用屏幕旋转

例:

if flag { rotateDevice = false}else { rotateDevice = true}

我怎样才能做到这一点?

相关文章: