我遇到了一个问题,当我在 iPhone SE 模拟器上运行我的应用程序时,它会像这样在导航栏上显示返回按钮。
但是当我在 iPhone X、iPhone 8 和 iPhone 8 以及 iOS 11 和 XCode 9 上运行相同的应用程序时,导航栏上没有后退按钮,它适用于所有 ViewController,而不适用于特定的 viewController。这是示例
谁能告诉为什么会这样。
我遇到了一个问题,当我在 iPhone SE 模拟器上运行我的应用程序时,它会像这样在导航栏上显示返回按钮。
但是当我在 iPhone X、iPhone 8 和 iPhone 8 以及 iOS 11 和 XCode 9 上运行相同的应用程序时,导航栏上没有后退按钮,它适用于所有 ViewController,而不适用于特定的 viewController。这是示例
谁能告诉为什么会这样。
我遇到了后退按钮只有一点点的问题。在调试控制台中,它在导航栏中显示了一些损坏的约束。
我发现应用程序委托中的这一行是问题所在。
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 调用,看看您是否可能正在修改条形按钮偏移量。
经过一番努力,我知道我在设置为 NavBarTitleView 之前设置了视图的前导空间
navView.viewLeadingConstraint.constant = (UIDevice().isIPhone5 || UIDevice().isIPhone4) ? -15:-40
由于上面的代码,我的后退按钮隐藏了,所以我删除了上面的代码行并在 NavView 中添加了以下方法来解决我的问题。
override var intrinsicContentSize: CGSize {
return UILayoutFittingExpandedSize
}