我正在使用最新版本的 Swift 和 Xcode 创建一个仅限 iPhone 的应用程序,应用程序中有 3 个选项卡栏部分,并且只有一个选项卡栏中我希望用户将其屏幕固定为横向。我已经尝试了在 StackOverflow 和其他一些网站上找到的几乎所有可能的解决方案,但似乎都不起作用(包括这个:如何在 Swift 中将一个视图控制器的方向锁定为纵向模式(。有人知道为什么吗?
这是我想在横向上固定的视图的视图控制器:
import UIKit
@objcMembers class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
let value = UIInterfaceOrientation.portrait.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
themes()
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
}
//Some Code
///////////////////////////////////////
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .portrait
}
override var shouldAutorotate: Bool {
return false
}
///////////////////////////////////////
}
您可以使用以下代码强制应用程序旋转方向,
UIDevice.current.setValue(.landscapeRight, forKey: "orientation")
请在AppDelegate中实现以下委托方法,并在您希望应用程序旋转到横向模式时返回横向掩码,
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask