我也遇到了这个问题。
我放置了一个自定义按钮,而不是系统后退按钮。它为我工作。
您应先将其放在推入viewController之前。如果您有两个或更多viewControllers,您应该首先将其放置。
let backItem = UIBarButtonItem()
backItem.title = "Back"
backItem.tintColor = .red
navigationItem.backBarButtonItem = backItem
所有这些都是正常的。 iOS 13中的新增功能,扩展后的导航栏(显示搜索栏,大标题等)与普通导航栏的外观不同。您的设置仅适用于普通导航栏,因为您没有将它们设置为iOS 13方式。如果要使扩展的导航栏看起来像普通导航栏,则必须分别且明确地设置其外观。
为此,您需要设置导航栏的scrollEdgeAppearance。研究类UIBarAppearance,UINavigationBarAppearance和UIBarButtonItemAppearance(您将需要显式设置backButtonAppearance)。
[这是我的解决方案,可在带有XCode 11的iOS 13上运行(也已在运行iOS 12的设备上进行了向后兼容性测试)和UINavigationBar.appearance()。standardAppearance = UINavigationBarAppearance()。在Info.plist文件中,添加以下两个属性:
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>