以防万一有人在使用自定义后退按钮时遇到此问题,并且上述修复不起作用,这里有一个类似的问题,我遇到了不同的解决方案。
我有一个自定义的后退按钮,其中的文字正在消失,而箭头却可以看到 UINavigationController custom back button disappears from NavigationBar
因此,如果有人遇到类似的情况,自定义后退按钮上的后退按钮文本消失,这是我的方案并修复。
我在自定义 NavigationController 类中自定义了后退按钮,如下所示:
private func customizeBackButton() {
let backImage = UIImage(named: "BackButton")?.withRenderingMode(.alwaysOriginal)
navigationBar.backIndicatorImage = backImage
navigationBar.backIndicatorTransitionMaskImage = backImage
UIBarButtonItem.appearance().setTitleTextAttributes([
NSAttributedString.Key.foregroundColor: UIColor.panoStoryYellow,
NSAttributedString.Key.font: UIFont(name: "Montserrat-SemiBold", size: 15)!
], for: .normal)
}
这给了我:
现在,当我点击后退按钮文本时,文本消失了:
我确保我遵循了上述所有答案,例如设置标题以确保色调颜色有效等。但这不起作用。
在我的例子中,我需要为返回按钮的highlighted 状态设置属性,如下所示:
UIBarButtonItem.appearance().setTitleTextAttributes([
NSAttributedString.Key.foregroundColor: UIColor.panoStoryYellow,
NSAttributedString.Key.font: UIFont(name: "Montserrat-SemiBold", size: 15)!
], for: .highlighted)
在这之后,后退按钮的文字就再也没有消失过