首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iPadOS 13屏幕旋转故障

iPadOS 13屏幕旋转故障
EN

Stack Overflow用户
提问于 2019-10-23 11:19:39
回答 1查看 730关注 0票数 1

我一直在处理iPadOS 13.1.3上与设备定向相关的UI故障。有什么解决办法或解决办法吗?

问题

描述

让我们用屏幕A来显示模式屏幕B。屏幕A只锁定为纵向,屏幕B支持所有方向。如果显示屏幕A,然后将设备旋转到景致,屏幕B即将显示,屏幕A首先被不正确地调整大小,从而导致维尔德故障。

图像

左边的图像是在iPadOS 13.1.3上拍摄的,它会产生UI故障。右边的图像记录在iPad上,在布局正确的地方安装了iOS 12.4.1。所有附图都是下面链接的github项目的一部分。

项目

请通过使用存储库,您可以更仔细地查看这个问题。

谢谢。

编辑:

故障不再发生在iPadOS 13.2上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-24 14:55:02

我就是这样工作的:

  • 删除func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?)的实现。让视图控制器来处理这个问题。
  • 在VC1中: 覆盖var supportedInterfaceOrientations: UIInterfaceOrientationMask { .portrait } 还删除“黑客解决方案”。
  • 在VC2中: 重写var supportedInterfaceOrientations: UIInterfaceOrientationMask { .all }覆盖var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation { .portrait }

因此,我们得到的是,VC2最初出现在纵向,但然后可以旋转。

如果您希望VC2在出现后立即旋转到景观中,那么添加以下内容:

代码语言:javascript
复制
var appeared = false
override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    appeared = true
    UIViewController.attemptRotationToDeviceOrientation()
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58521687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档