gpt4 book ai didi

iOS 工具栏高度取决于初始方向

转载 作者:行者123 更新时间:2023-11-28 13:54:40 27 4
gpt4 key购买 nike

我在 iPhone 上的底部 UIToolbar 遇到了一些麻烦。栏的高度似乎取决于我导航到场景时的设备方向,并且在方向更改时不会更新。

  1. 当我以纵向模式导航到场景时,底部栏的高度为 44。然后当我转动手机(此处为 iPhone XR)时,栏的高度仍为 44。
  2. 当我以横向模式打开场景时,底部栏的高度为 49,当我将手机竖直放置时,底部栏的高度也保持为 49。

这可以很容易地用简单的 2 场景应用程序重现,例如这个: demo app

最初,这并不是真正的问题 - 用户甚至不会注意到微小的变化。但现在我在 Split View中使用底部栏。当它最初以纵向打开时,底部工具栏的高度为 44。将手机变为横向时,将打开带有自己工具栏的详细 View ,高度为 49。然后我有两个彼此相邻的不同高度的工具栏,这是相当丑陋的: different toolbar heights in splitview

所以问题是我如何确保工具栏高度在方向更改时更新,或者高度始终相同(例如在电子邮件应用程序中)。我不想对高度进行硬编码,因为它最终会使 future 的 iOS 版本或不同设备上的情况变得更糟。

我正在使用 Xcode 10.1,在装有 iOS 12.1.2 的 iPhone 上运行该应用程序。

最佳答案

您是手动将工具栏添加到 View 中,还是使用 navigationController 来管理工具栏?我假设你做到了,因为在旋转时高度不会改变。

导航 Controller 管理旋转时工具栏的高度。将以下内容添加到 viewDidLoad() 方法将显示导航 Controller 的工具栏。

navigationController?.setToolbarHidden(false, animated: false)

与您的 View Controller 管理工具栏相比,这种方法需要的代码要少一些(少一个方法,少一个导出)。

这是我用来检查工具栏在 iPad 和 iPhone Max 型号上是否正确显示的默认模板: https://github.com/joelesli/TBHeight/

iPad 专业版 enter image description here

iPhone XS Max enter image description here

iPad 空气 2 enter image description here

iPhone 8 Plus enter image description here

关于iOS 工具栏高度取决于初始方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54046901/

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