为啥导航栏后退按钮项消失?斯威夫特 4

Posted

技术标签:

【中文标题】为啥导航栏后退按钮项消失?斯威夫特 4【英文标题】:Why disappear navigationBar backButtonItem? Swift4为什么导航栏后退按钮项消失?斯威夫特 4 【发布时间】:2018-03-21 09:46:57 【问题描述】:

我使用largeTitleBar。 当 navigationBar.title 的字符超过 20 个字节时(在 iPhone SE 的情况下),backButtonItem.title 消失。 (以 iPhoneX 为例,22 字节)

navigationBar.title 被截断会影响这个问题。 但是我没有任何想法来解决这个问题。

navigationItem.title = someText
// when navigationItem.title is truncated, backButtonItem.title disappears.

【问题讨论】:

谢谢老虎! 【参考方案1】:
self.title = "Your TiTle Text"
var lbl = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 40))
lbl.text = navigationItem?.title
lbl.textColor = UIColor.white
if let fontSize = UIFont(name: "Helvetica-Bold", size: 30.0) 
    lbl.font = fontSize

lbl.backgroundColor = UIColor.clear
lbl.adjustsFontSizeToFitWidth = true
lbl.textAlignment = .center
navigationItem?.titleView = lbl

试试上面的代码可能对你有帮助。

【讨论】:

感谢您的代码。但问题正在消失“backButtonItem”。我无法解决。 我给了一个静态宽度 200 然后它也消失了? 哦,我明白了。您建议使用“titleView”而不是“backButtonItem”。 是的,现在你明白了。 谢谢。但是 UILabel 不是静态的。我该如何解决?

以上是关于为啥导航栏后退按钮项消失?斯威夫特 4的主要内容,如果未能解决你的问题,请参考以下文章

如何设置导航栏的后退项

导航栏上没有后退按钮

更改导航栏后退按钮的粗细

更改后退导航栏按钮的字体

iOS13导航栏后退栏按钮项目色调颜色

Xamarin Master Detail prism 导航栏后退按钮