由于某种原因,此代码不会隐藏按钮文本。
self.navigationItem.backBarButtonItem = UIBarButtonItem(title: " ", style: .Plain, target: nil, action: nil)}
文字仍为“返回”。
另一方面执行:
self.navigationItem.hidesBackButton
会隐藏按钮。我在viewDidLoad中执行。有任何想法如何删除该文本并仅保留箭头?我已经阅读了这个网站上的建议。
答案 0 :(得分:0)
/// This will hide the back button title
private func hideBackButtonTitle(){
let backButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
backButtonItem.setTitleTextAttributes([.foregroundColor: UIColor.clear], for: .normal)
backButtonItem.setTitleTextAttributes([.foregroundColor: UIColor.clear], for: .highlighted)
self.navigationItem.backBarButtonItem = backButtonItem
}
答案 1 :(得分:0)
在root/main
ViewController
-
self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
代码 -
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
}
输出 -
答案 2 :(得分:0)
我使用以下技术隐藏后退按钮。每当我执行segue 或将新视图控制器推送到导航堆栈时,我调用此函数并将self传递给参数。
func clearBackButtonText(vc : UIViewController) {
let backItem = UIBarButtonItem()
backItem.title = ""
vc.navigationItem.backBarButtonItem = backItem
}
//call this function in view didLoad of your view controller OR before pushing a view controller on navigation stack
clearBackButtonText(vc: self)
在TableVC的Viewdidload上,我正在调用函数
class TableVC: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
clearBackButtonText(vc: self)
}
}
On didSelect连续,我正在对DetailVC进行推送segue 。我的后退按钮只是箭头
希望有所帮助
答案 3 :(得分:0)
感谢您的回复。事实证明,后退按钮的标题将被设置为它将返回的视图控制器的标题。我所要做的就是为之前的ViewController设置navigationItem.title =“”。
超级沮丧......