IOS Swift:使用“返回”文本更新导航按钮

Posted

技术标签:

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

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

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

self.title = "Title"

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

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

【问题讨论】:

你想要标题名称“back”而不是以前的 vc 名称? 没有。我希望按钮文本作为“返回”而不是页面标题作为返回。 隐藏后退按钮并使用标题后退或自定义后退按钮制作新的左栏按钮 Swift renaming the back navigation item 可能重复 【参考方案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"

【讨论】:

当点击返回按钮时,它会将前面的页面标题设置为返回

以上是关于IOS Swift:使用“返回”文本更新导航按钮的主要内容,如果未能解决你的问题,请参考以下文章

在导航栏中自动添加“返回”按钮

Swift - 修改导航栏“返回”按钮文字,图标

从 iOS 导航返回栏按钮中删除文本。

iOS Swift - 文本到语音使应用程序崩溃

使用苹果键盘中的返回按钮进行导航

IOS修改Navigation Bar上的返回按钮文本颜色,箭头颜色以及导航栏按钮的颜色