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:使用“返回”文本更新导航按钮的主要内容,如果未能解决你的问题,请参考以下文章