iPhone X iOS 11 上未显示 UINavigationBar 后退按钮
UINavigationBar back button not showing on iPhone X iOS 11
我遇到了一个问题,当我 运行 我的应用程序在 iPhone SE 模拟器上时,它在导航栏上显示后退按钮,就像这样。
但是当我 运行 在 iPhone X 上使用相同的应用程序时,iPhone 8 和 iPhone 8 加上 iOS 11 和 XCode 9 导航栏上没有后退按钮,它适用于所有 ViewControllers 而不是特定 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
之前我正在设置视图的前导 space
navView.viewLeadingConstraint.constant = (UIDevice().isIPhone5 || UIDevice().isIPhone4) ? -15:-40
由于上面的代码,我的后退按钮隐藏了,所以我删除了上面的代码行,并在 NavView 中添加了以下方法,这解决了我的问题。
override var intrinsicContentSize: CGSize {
return UILayoutFittingExpandedSize
}
我遇到了一个问题,当我 运行 我的应用程序在 iPhone SE 模拟器上时,它在导航栏上显示后退按钮,就像这样。
但是当我 运行 在 iPhone X 上使用相同的应用程序时,iPhone 8 和 iPhone 8 加上 iOS 11 和 XCode 9 导航栏上没有后退按钮,它适用于所有 ViewControllers 而不是特定 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
之前我正在设置视图的前导 spacenavView.viewLeadingConstraint.constant = (UIDevice().isIPhone5 || UIDevice().isIPhone4) ? -15:-40
由于上面的代码,我的后退按钮隐藏了,所以我删除了上面的代码行,并在 NavView 中添加了以下方法,这解决了我的问题。
override var intrinsicContentSize: CGSize {
return UILayoutFittingExpandedSize
}