5

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

在此处输入图像描述

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

在此处输入图像描述

谁能告诉为什么会这样。

4

2 回答 2

1

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

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

 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 调用,看看您是否可能正在修改条形按钮偏移量。

于 2017-09-21T14:17:25.627 回答
0

经过一番努力,我知道我在设置为 NavBarTitleView 之前设置了视图的前导空间

navView.viewLeadingConstraint.constant = (UIDevice().isIPhone5 || UIDevice().isIPhone4) ? -15:-40

由于上面的代码,我的后退按钮隐藏了,所以我删除了上面的代码行并在 NavView 中添加了以下方法来解决我的问题。

override var intrinsicContentSize: CGSize {
    return UILayoutFittingExpandedSize
}
于 2017-10-06T06:39:20.760 回答