UINavigationBar 后退按钮未在 iPhone X iOS 11 上显示

标签 uinavigationbar ios11 xcode9 swift3.2

我遇到了一个问题,当我在 iPhone SE 模拟器上运行我的应用程序时,它会像这样在导航栏上显示返回按钮。

enter image description here

但是当我在 iPhone X、iPhone 8 和 iPhone 8 以及 iOS 11 和 XCode 9 上运行相同的应用程序时,导航栏上没有后退按钮,它适用于所有 ViewController,而不适用于特定的 viewController。这是示例

enter image description here

谁能告诉为什么会这样。

最佳答案

我遇到了后退按钮只有一点点的问题。在调试控制台中,它在导航栏中显示了一些损坏的约束。

我发现应用程序委托(delegate)中的这一行是问题所在。

 UIBarButtonItem.appearance().setBackButtonTitlePositionAdjustment( // Remove the text "Back" from the back button so only the back arrow is visible
        UIOffset(horizontal: -100, vertical:-100),
        for: UIBarMetrics.default
    )

尝试在您的代码中查找任何外观 api 调用,看看您是否可能正在修改条形按钮偏移量。

关于UINavigationBar 后退按钮未在 iPhone X iOS 11 上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46322502/

相关文章:

objective-c - 导航按钮点击外部

objective-c - 在导航栏中创建副标题

ios - UINavigationBar 标题颜色

swift - 添加 14 个具有强引用的 ARAnchor 子类对象时 ARSCNView 卡住

swift - 停止在 iOS 11 中意外激活控制中心

xcode - 如何在 Xcode 9 的 Project Navigator 中显示所有文件?

ios - Xcode9 iOS 导出存档以正确的格式失败

iphone - 更改 UINavigationController 导航栏的动画

ios - jsqmessagesviewcontroller ios 11 工具栏

ios - 使用参数更改另一个类(扩展)的值