iOS Swift UIViewController 旋转

Posted

技术标签:

【中文标题】iOS Swift UIViewController 旋转【英文标题】:iOS Swift UIViewController Rotation 【发布时间】:2018-12-03 02:37:29 【问题描述】:

我有一个带有三个选项卡的 UITabViewController。在其中一个选项卡上,用户点击一个按钮,一个新的 UIViewController 控制器会以横向模式弹出(供用户用手指签名)。用户完成后,他们点击 Finish 按钮并调用 finish() 来关闭正在签名的 UIViewController。

我面临的问题是,即使设置了屏幕,用户返回的处于纵向模式的屏幕现在也处于横向模式:

override var supportedInterfaceOrientations: UIInterfaceOrientationMask
    return .portrait


override var shouldAutorotate: Bool 
    return true

我无法强制旋转回纵向。我已阅读以下帖子:How to force device rotation in Swift?,据我了解,我无法将屏幕旋转回纵向?

【问题讨论】:

试试这个! ***.com/a/41811798/6642629 【参考方案1】:

这真的很简单。编写以下代码并更改要以编程方式旋转的 ViewControllers 中的方向值。

override func viewWillAppear(_ animated: Bool) 
        let value = UIInterfaceOrientation.portrait.rawValue //Change orientation according to your scenario
        UIDevice.current.setValue(value, forKey: "orientation")
    

【讨论】:

以上是关于iOS Swift UIViewController 旋转的主要内容,如果未能解决你的问题,请参考以下文章

Swift 4:没有调用 didSelectRowAt 委托

Swift 3 - 限制 uitextview 中的字符数

在 UIWebView 中调整文本大小 - Swift 3

如何只显示部分网页内容(swift)

SWIFT 3、Eureka:使用导航控制器时,不调用keyboardWillShow回调

如何使用 JSON.serializer 在 Swift 中解析 JSON