我想知道是否可以从 继承的 导航栏中删除导航栏后退按钮文本。目前我的导航栏显示“< ControllerName”。我想简单地显示“<”后面的图标。我还想知道如何显示“< Back”,以及如何完全删除它。
我知道我可以通过向故事板添加一个条形按钮项来实现这一点,但是有更简单的方法吗?
注意,此代码不起作用:
self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)
答案 0 :(得分:6)
您最好为此任务自定义后退按钮。
但您也可以通过其他方式完成此操作。例如:您有ViewController1
和ViewController2
(您从ViewController2
推送ViewController1
)
<强> ViewController1 强>
public class ViewController1: UIViewController {
override public func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
self.title = "viewcontroller1 title"
}
}
<强> ViewController2 强>
class ViewController2: UIViewController {
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
// get previous view controller and set title to "" or any things You want
if let viewControllers = self.navigationController?.viewControllers {
let previousVC: UIViewController? = viewControllers.count >= 2 ? viewControllers[viewControllers.count - 2] : nil; // get previous view
previousVC?.title = "" // or previousVC?.title = "Back"
}
}
}
答案 1 :(得分:1)
我认为这对你有用。
self.navigationItem.hidesBackButton = true
答案 2 :(得分:0)
@Prashant建议的解决方案将从导航栏中删除后退按钮。 要删除标题,请使用以下命令:
navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)