删除UINavigationBar后退按钮标题

时间:2015-10-22 15:09:26

标签: ios uinavigationbar

有没有办法删除应用的所有视图控制器中后退按钮项的标题?

注意:重要的是所有字样。我最接近的是this solution

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)
                                                     forBarMetrics:UIBarMetricsDefault];

但正如我在评论中提到的那样,大型图书被推到右边是一个问题,因此这个解决方案无效。

4 个答案:

答案 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的viewWillAppearUIViewController的自定义基类中。