【问题标题】:IOS Swift: Update navigation button with "Back" textIOS Swift:使用“返回”文本更新导航按钮
【发布时间】:2017-05-01 06:24:06
【问题描述】:

在 Stackoverflow 上,很多人提出和回答的类似问题很少。但没有一个解决方案符合我的要求。

我正在使用 Swift3 进行 IOS 移动应用程序开发,并使用导航控制器来管理导航。我使用以下代码为所有页面赋予了标题。

self.title = "Title"

当我移动到下一页时,它会显示带有前一页标题的后退按钮。对于某些页面,标题很长,它扰乱了我的页面标题部分。

我想将按钮文本更改为“返回”而不是页面标题。 知道该怎么做吗?

【问题讨论】:

  • 你想要标题名称“back”而不是以前的 vc 名称?
  • 没有。我希望按钮文本作为“返回”而不是页面标题作为返回。
  • 隐藏后退按钮并使用标题后退或自定义后退按钮制作新的左栏按钮

标签: ios swift xcode swift3 uinavigationcontroller


【解决方案1】:

如果你使用故事板,那么你可以在那里设置返回按钮标题,点击 ViewController -> Navigation Item -> Back Button 并设置“返回”标题。

或者,您可以在ViewWillApear 中设置标题并在viewWillDisappear 方法中将其更改为“返回”

override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        self.title = "My Title"
}

override func viewWillDisappear(_ animated: Bool) {
        super.viewWillDisappear(animated)
        self.title = "Back"
}

【讨论】:

  • 这是我所期待的。添加这两种方法时效果很好。虽然我在 Xcode 中没有找到“导航项”。
  • 如果您将 ViewController 嵌入到 UINavigationController 中,那么您会在 View 层次结构下方或点击 ViewController 中的导航栏区域时找到它。
【解决方案2】:

在 segue 之前的准备函数中执行以下操作:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let backItem = UIBarButtonItem()
    backItem.title = "Back" // Change to desired title here
    navigationItem.backBarButtonItem = backItem
}

【讨论】:

    【解决方案3】:

    尝试删除viewWillDisapperar上的标题,然后在viewWillAppear上重新输入

    【讨论】:

      【解决方案4】:

      试试这个:

      self.navigationController?.navigationBar.topItem?.title = "Back"
      

      它应该工作:)

      【讨论】:

      • 点击返回按钮时,将前面的页面标题设置为返回
      【解决方案5】:

      试试这个:

      self.navigationController!.navigationBar.topItem!.title = "Back"
      

      【讨论】:

      • 当点击返回按钮时,它会将前面的页面标题设置为返回
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 2020-04-06
      • 2014-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多