gpt4 book ai didi

ios - 在 iOS 中的 ViewController 之间导航时,安全区域约束 View 会通过状态栏切换隐藏/取消隐藏来放大

转载 作者:行者123 更新时间:2023-11-29 05:32:37 25 4
gpt4 key购买 nike

正如标题所示,当您尝试在 UIViewController 之间导航,同时切换状态栏隐藏/取消隐藏时,iOS 上的安全区域约束 View 会出现意外的行为被放大

可以找到一个可重现的项目 here .

我想知道这是否是 iOS 中的一个错误。希望有人能够解释为什么会出现此问题以及我们如何解决它。

更新:

对于上面的“放大”部分:
在 UIViewController 的导航过程中,这个问题只会一目了然,五次中有 2-3 次,因此您可能需要非常注意才能注意到它。
放大的部分是:绿色背景和两个白色方框。
请注意,导航前后 View 保持相同的大小。

此外,在项目中,您可能需要连续点击“按钮”和“关闭”按钮,以便快速切换,以便轻松发现问题。

最佳答案

问题:

用于隐藏状态栏和更改方向导致闪烁的代码。实际上,这在后台线程中有效,您按下“按钮”和“关闭”按钮的速度如此之快,以至于您感觉到了。操作系统正在转换,这将影响您的视野高度。

override var prefersStatusBarHidden: Bool {
return true
}

override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return [ .landscape ]
}

解决方案:

  1. 不要让用户如此快速地来回移动,直到之前的关闭尚未完成(完成处理程序)
  2. 使用过渡动画来降低最终用户的视觉效果。

关于ios - 在 iOS 中的 ViewController 之间导航时,安全区域约束 View 会通过状态栏切换隐藏/取消隐藏来放大,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57392223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com