从继承的导航栏Swift 3中删除后退按钮文本

时间:2016-09-23 04:47:23

标签: ios swift swift3

我想知道是否可以从 继承的 导航栏中删除导航栏后退按钮文本。目前我的导航栏显示“< ControllerName”。我想简单地显示“<”后面的图标。我还想知道如何显示“< Back”,以及如何完全删除它。

我知道我可以通过向故事板添加一个条形按钮项来实现这一点,但是有更简单的方法吗?

注意,此代码不起作用:

self.navigationItem.backBarButtonItem = UIBarButtonItem(title:"", style:.plain, target:nil, action:nil)

3 个答案:

答案 0 :(得分:6)

您最好为此任务自定义后退按钮。

但您也可以通过其他方式完成此操作。例如:您有ViewController1ViewController2(您从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)