有没有办法删除应用的所有视图控制器中后退按钮项的标题?
注意:重要的是所有字样。我最接近的是this solution:
[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)
forBarMetrics:UIBarMetricsDefault];
但正如我在评论中提到的那样,大型图书被推到右边是一个问题,因此这个解决方案无效。
答案 0 :(得分:3)
试试这个
self.navigationItem.hidesBackButton = YES;
隐藏显式(您自己设置)后退按钮
self.navigationItem.leftBarButtonItem = nil;
答案 1 :(得分:3)
只需将后退按钮的title
设置为""
这是swift
中的一个例子self.navigationItem.backBarButtonItem = UIBarButtonItem(
title: "",
style: UIBarButtonItemStyle.Plain,
target: nil,
action: nil)
要在所有视图控制器中执行此操作,我通常会生成一个BaseViewController
,其中我在viewDidLoad
方法中包含该行。然后,当我有一个viewcontroller时,我将它子类化为BaseViewController
。
你的解决方案可以工作,如果你也移动x值-150,但对我来说这听起来像黑客,因为你仍然一直显示它,但在视图范围之外。
答案 2 :(得分:0)
未提及的一种方法是使用自定义磁贴视图,在标签中显示标题,然后实际上不设置ViewControllers的title属性。


这应该在UIViewController的扩展或基类中设置。


然后你不要根本不需要更改barButtonItem,你可以选择对标题进行更多更改(带字幕等)。


这样的事情:
& #xA;
 扩展名UIViewController {

 func setTitleView(title:String){
让titleView = CustomTitleView()
 titleView.titleLabel.text = title
 self.navigationItem.titleView = titleView
 }
}



 如果您设置一个简单的CustomTitleView笔尖,其中包含一个标签插座和一些约束。
& #xA;
编辑:


标题属性需要在所有VC上设置为“”。这样,下一个推送VC中的后退按钮文本将标题为“”

答案 3 :(得分:0)
您需要更改UINavigationController
后退按钮的标题是:
<强>夫特强>:
navigationController?.navigationBar.topItem?.title = ""
您可以将此添加到正在推送的新viewController的viewWillAppear
或UIViewController
的自定义基类中。