Xcode 如何只允许单个 UIViewController 倒转?
How to allow only single UIViewController to rotate upside down with Xcode?
在我的应用程序中,所有屏幕都是纵向的。如何只允许单个 UIViewController 处于两种方向模式:纵向和倒置?当用户旋转 iPhone 时,UIViewController 也应该旋转。
如果您有任何连续调用的函数,那么您可以检查此函数内的设备方向,如-
if UIDevice.current.orientation == UIDeviceOrientation.portraitUpsideDown {
// set your view constraints
}
if UIDevice.current.orientation == UIDeviceOrientation.portrait {
// set your view constraints
}
否则你应该创建一个监控函数并在函数内检查设备方向。
首先,在您的应用程序中,除了一个屏幕外,所有屏幕都是纵向的。因此,您不能将应用程序的方向设置为纵向。所以将设备方向设置为纵向和横向。
在ViewDidLoad中需要横屏的屏幕上输入以下代码
let value = UIInterfaceOrientation.landscapeLeft.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
和
override var shouldAutorotate: Bool {
return true
}
在 viewDidLoad 中只需要纵向的所有屏幕上放置以下代码
let value = UIInterfaceOrientation.portrait.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
在我的应用程序中,所有屏幕都是纵向的。如何只允许单个 UIViewController 处于两种方向模式:纵向和倒置?当用户旋转 iPhone 时,UIViewController 也应该旋转。
如果您有任何连续调用的函数,那么您可以检查此函数内的设备方向,如-
if UIDevice.current.orientation == UIDeviceOrientation.portraitUpsideDown {
// set your view constraints
}
if UIDevice.current.orientation == UIDeviceOrientation.portrait {
// set your view constraints
}
否则你应该创建一个监控函数并在函数内检查设备方向。
首先,在您的应用程序中,除了一个屏幕外,所有屏幕都是纵向的。因此,您不能将应用程序的方向设置为纵向。所以将设备方向设置为纵向和横向。
在ViewDidLoad中需要横屏的屏幕上输入以下代码
let value = UIInterfaceOrientation.landscapeLeft.rawValue
UIDevice.current.setValue(value, forKey: "orientation")
和
override var shouldAutorotate: Bool {
return true
}
在 viewDidLoad 中只需要纵向的所有屏幕上放置以下代码
let value = UIInterfaceOrientation.portrait.rawValue
UIDevice.current.setValue(value, forKey: "orientation")