gpt4 book ai didi

ios - UIViewController 在被告知不要这样做时更改方向

转载 作者:行者123 更新时间:2023-11-29 01:32:13 25 4
gpt4 key购买 nike

我有一个 UIViewController,我在其中覆盖了这 2 个方法:

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.Portrait
}

override func shouldAutorotate() -> Bool {
return false
}

我的设备方向被勾选为纵向、横向左和右。

我清理了构建文件夹。

我的问题:当我进入横向时,应用会改变方向。

知道哪里出了问题。我认为重写这两种方法应该就足够了,但似乎还不够。

最佳答案

由于您的 View Controller 嵌入在 UINavigationController 中,并且单独覆盖相应 View Controller 中的 shouldAutorotate() 是行不通的,因为它会检查 UINavigationController/UITabBarController 的 shouldAutoRotate(),因此您必须创建 UINavigationController 的扩展

extension UINavigationController {
public override func shouldAutorotate() -> Bool {
return visibleViewController.shouldAutorotate()
}
}

并且在相应的 View Controller 中,无论您想要根据您的要求锁定方向覆盖 shouldAutoRotate()

override func shouldAutorotate() -> Bool {
return false
}

关于ios - UIViewController 在被告知不要这样做时更改方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33338867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com