swift - Swift 4 remove text from back button
问题描述
Guys i want to remove text from Back button. i use this code to navigate from VC1 to VS2 (login form). I tried to add this code to VC2 but nothing.
self.navigationController?.navigationBar.backItem?.title = ""
code:
@IBAction func didSelectSegment(_ sender: UISegmentedControl) {
let vcName = vcNames[sender.selectedSegmentIndex]
if vcName == "NQTPastRecordViewController" && loggined() == false {
let alert = alertAskLogin({
let signInVC = getController("EVSignInViewController")
self.navigationController?.pushViewController(signInVC, animated: true)
})
self.present(alert, animated: true, completion: nil)
segmentControll.selectedSegmentIndex = 0
return
}
self.container.swipeToController(at: sender.selectedSegmentIndex)
}
解决方案
有几种方法可以实现您想要做的事情。
当您将视图控制器 (VC2) 推送到第一个控制器 (VC1) 的导航堆栈时,默认情况下,后退按钮使用第一个屏幕的标题作为第二个屏幕显示时的后退按钮标题。
因此,在 VC1 中,您可以在推入堆栈之前将视图控制器的标题设置为空字符串
override func viewDidLoad() {
super.viewDidLoad()
self.title = ""
}
这将为您留下一个只有“<”字符的后退按钮。
第二种方法是在父视图控制器(VC1)中设置一个自定义的后退栏按钮项
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil)
}
它将后退按钮标题设置为您在 UIBarButtonItem 标题字段中设置的任何内容。
所以你的实现可能看起来像这样:(选择一个选项或另一个选项,如果你这样做,自定义栏按钮项目会覆盖标题。)
@IBAction func didSelectSegment(_ sender: UISegmentedControl) {
let vcName = vcNames[sender.selectedSegmentIndex]
if vcName == "NQTPastRecordViewController" && loggined() == false {
let alert = alertAskLogin({
let signInVC = getController("EVSignInViewController")
// set title to empty string here
title = ""
// or set a custom back bar button item and set target/action as needed
navigationItem.backBarButtonItem = UIBarButtonItem(title: "Back", style: .plain, target: nil, action: nil)
navigationController?.pushViewController(signInVC, animated: true)
})
self.present(alert, animated: true, completion: nil)
segmentControll.selectedSegmentIndex = 0
return
}
container.swipeToController(at: sender.selectedSegmentIndex)
}
推荐阅读
- powershell - Azure devops rest api 仅返回 100 个项目
- powershell - Powershell 在 csv 中查找符合条件的最新条目
- python - Python命令提示出现速度很慢(Anaconda)
- flutter - 自定义画家不起作用。反而出现白屏
- python - 在python中通过多处理传递openpyxl Workbook对象
- angular - 如何修改 Angular 货币的小数位数?
- ruby-on-rails - 我做错什么了:Rails with_lock?
- mongodb - Kafka 下沉到 mongoDB,如何将“_ID”字段设置为主题中某一列中的现有值?
- python - numpy数组中的元素减法
- pandas - 使用函数联系 Pandas DataFrames