iOS 11 和 iPhone X : UINavigationBar's toolbar spacing incorrect when embedded in UITabBarController

标签 ios cocoa-touch ios11 iphone-x

我在 iPhone X 模拟器上测试最新的 iOS 11 时遇到了一个烦人的问题。

我有一个 UITabBarController,在每个选项卡中都有一个 UINavigationController,每个 UINavigationBar 还定义了一个底部工具栏(setToolbarHidden :),默认情况下,它们显示在底部,就在 tabBar 上方。

到目前为止,它一直运行良好,似乎在即将推出的 iPhone 8 和 8 Plus 机型中也运行良好,但在 iPhone X 上,工具栏和选项卡栏之间存在差距。我的猜测是 toolBar 没有意识到显示在 tabBar 中,然后在底部留下了容纳空间。

我想修复它的唯一方法是使用自定义工具栏并自己显示/动画化它而不是使用默认值 UINavigationBar,但我想听听其他选项:)

  • 这是它在 iPhone 8 上的样子。
  • 这是 iPhone X 上的问题。

enter image description here enter image description here

最佳答案

我将其归档为 radr://problem/34421298,它作为 radr://problem/34462371 的副本被关闭。但是,在带有 iOS 11.2 的 Xcode 9.2 (9C32c) 的最新测试版中,这似乎已得到修复。这是我的应用程序在每台设备的模拟器中运行的示例,两者之间没有任何变化。

Navbar toolbar under iOS 11.1 and 11.2

这并不是您问题的真正解决方案,只是有些耐心可能会解决问题,而无需求助于 UI 技巧。我的假设是 iOS 11.2 将在今年年底之前推出,因为它需要支持 HomePod。

关于iOS 11 和 iPhone X : UINavigationBar's toolbar spacing incorrect when embedded in UITabBarController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46205703/

相关文章:

iOS 11,Unity3d随机启动崩溃

ionic2 - iOS 11,Xcode 9 错误 : NSURLConnection finished with error - code -1100

iOS UIActivityViewController 缺少 Facebook 选项

ios - 如何将 UIImageView 转换为 CGImageRef?

ios - 替换模态视图后面的 rootViewController

objective-c - AudioQueue启动失败

android - 手机跨平台实时更新

ios - 将 UITableViewCell 的长度调整为 UITableView 的长度

iphone - 如何在 UITableView 中将 fromIndex 处的 Row 交换为 toIndex?

ios - 如何记录在 Xcode 中显示为运行时问题的警告?