Ios 部队横向定向,Swift
我有一个在纵向视图中设计的视图控制器。我有另一个在横向视图中设计的视图控制器(在故事板中)。在我的第一个视图控制器(纵向VC)上,我有一个按钮,可以将您带到横向VC。单击该按钮时,横向视图控制器最初显示在纵向视图中,在旋转之前不会更改。我想让这个景观视图控制器自动显示在景观中,而不必旋转它。 我一直在用swift编码,但运气不好。在我的plist菜单中,我启用了所有方向。Ios 部队横向定向,Swift,ios,swift,orientation,Ios,Swift,Orientation,我有一个在纵向视图中设计的视图控制器。我有另一个在横向视图中设计的视图控制器(在故事板中)。在我的第一个视图控制器(纵向VC)上,我有一个按钮,可以将您带到横向VC。单击该按钮时,横向视图控制器最初显示在纵向视图中,在旋转之前不会更改。我想让这个景观视图控制器自动显示在景观中,而不必旋转它。 我一直在用swift编码,但运气不好。在我的plist菜单中,我启用了所有方向。 任何帮助都会很好。我正在处理一个类似的场景,我想加载并保持我的第一个ViewController为横向,同时允许子视图根据需
任何帮助都会很好。我正在处理一个类似的场景,我想加载并保持我的第一个ViewController为横向,同时允许子视图根据需要切换 我认为
override func viewDidLoad() {
super.viewDidLoad()
let value = UIInterfaceOrientation.LandscapeLeft.rawValue
UIDevice.currentDevice().setValue(value, forKey: "orientation")
}
Swift 4
override func viewDidLoad() {
super.viewDidLoad()
let value = UIInterfaceOrientation.landscapeLeft.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
}
应该以横向模式加载视图…但如果以纵向方向握住手机,它很快就会旋转…这就是我所处的部分…如何防止旋转。您应该将此添加到
第二个viewcontroller
(设计为横向)中的viewDidLoad
它位于swift3
:
let value = UIInterfaceOrientation.landscapeLeft.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
UIViewController.attemptRotationToDeviceOrientation()
希望它能对您有所帮助:)我认为实现这一点的最佳和最可靠的方法是覆盖两个属性,并避免强制更改窗口的方向(如其他人所建议的) 这就是我如何让我的一个视图控制器始终以横向模式显示,并保持在那里,而不影响整个导航堆栈。将这两个替代添加到横向视图控制器:
覆盖变量应自动旋转:Bool{
假的
}
这将防止视图控制器在设备方向更改时自动旋转。现在视图控制器不再自行旋转,您只需请求所需的方向:
覆盖var PreferredInterfaceOrientation for Presentation:UIInterfaceOrientation{
UIInterfaceOrientation.landscapeLeft
}
瞧!应该做您想做的。您可以为视图控制器的
supportedInterfaceOrientations
方法实现适当的代码。还可以看看相关的定向方法。