【问题标题】:How do I delete a UINavigationController's back button title?如何删除 UINavigationController 后退按钮标题?
【发布时间】:2017-07-02 08:35:09
【问题描述】:

我想去掉导航栏后退按钮上的标题。它一直挤满我的视图控制器的标题。

如何使用 Swift 3 隐藏它?

这不起作用:

self.navigationController?.navigationItem.backBarButtonItem?.title = nil

【问题讨论】:

  • 你在使用故事板吗?
  • 不,全部以编程方式。这些答案都不起作用。我不知道为什么。

标签: ios swift uinavigationbar


【解决方案1】:

添加任一

self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)

self.navigationController?.navigationBar.backItem?.title = ""

如果您使用故事板或在导航之前发送至您的prepare:forsegue:

【讨论】:

    【解决方案2】:

    这行得通:

    我不得不说:

    self.navigationItem.title = ""
    

    就是这样。如果有人能解释为什么会这样,而其他发布的答案却没有,那就太好了!

    【讨论】:

      【解决方案3】:

      它对我有用。 .将 nil 替换为 "" (Swift 3)

       self.navigationController?.navigationItem.backBarButtonItem?.title = "" 
      

      【讨论】:

        【解决方案4】:

        看看这个:

        override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let backItem = UIBarButtonItem()
        backItem.title = "Back"
        navigationItem.backBarButtonItem = backItem // This will show in the next view controller being pushed
        }
        

        更多详情:https://stackoverflow.com/a/32284525/4935811

        【讨论】:

          【解决方案5】:

          假设您有A ViewController 推送B ViewController。而且您不想删除 ViewController B 中的后退按钮标题。然后你需要设置A ViewController 的backBarButtonItem。像这样。

          class AViewController: UIViewController {
              override func viewDidLoad() {
                  super.viewDidLoad()
          
                  self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
              }
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-01-15
            • 1970-01-01
            • 2019-02-05
            • 1970-01-01
            相关资源
            最近更新 更多