在我的手机(iOS 13.1.2)上运行简单的概念验证iPhone应用程序时,它不会上下颠倒旋转。它将旋转到任意一个横向方向都很好,但不会倒置。一件奇怪的事是,还有一个UITextEffects窗口,其视图控制器被调用supportedInterfaceOrientations
(它们返回.allButUpsideDown
,与观察到的行为相匹配)。该项目为here,但我将内联显示所有代码。
AppDelegate.swift:
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return .all
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let c = ViewController()
window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = c
window?.makeKeyAndVisible()
return true
}
}
ViewController.swift:
import UIKit
class ViewController: UIViewController {
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .all
}
override var shouldAutorotate: Bool {
return true
}
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .purple
let redView = UIView()
redView.backgroundColor = .red
redView.frame = CGRect(x: 20, y: 20, width: 100, height: 100)
view.addSubview(redView)
}
}
Info.plist(节选):
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationPortrait</string>
</array>
答案 0 :(得分:2)
这是有意为之的,没有触摸ID的较新iPhone不具有颠倒功能。如果您在iPhone 8上运行示例,它将自动旋转。
在https://forums.developer.apple.com/message/268015中,苹果员工说:
“这是设计使然。我们将在将来的版本中更新文档以反映这一点。”
系统将视图控制器的支持方向与应用程序支持的方向(由Info.plist文件或应用程序委托的application:supportedInterfaceOrientationsForWindow:方法确定)和设备的支持方向相交,以确定是否旋转。 例如,iPhone X不支持UIInterfaceOrientationPortraitUpsideDown方向。
另外,请参见Apple Visual Design Orientation:
仅在纵向模式下运行的应用程序应在用户将设备旋转180度时将其内容旋转180度。在iPhone X上除外,iPhone X不支持上下颠倒的纵向模式。 < / p>
答案 1 :(得分:0)
这取决于您使用的Iphone。无论您做什么,使用faceID的较新Iphone都不支持上下颠倒旋转。有关如何在旧版iPhone上将屏幕上下翻转的信息,请查看以下文章:Upside down and Rotating Iphones