在 Swift 中使用 hidesBackButton 隐藏导航栏中的后退按钮

Hide back button in navigation bar with hidesBackButton in Swift

我想在从一个视图转换到另一个视图时隐藏后退按钮。我阅读了有关此问题的问题,每个答案都是 "use hidesBackButton"。问题是:

我该如何解决这个问题?

编辑:

这是重现此问题(或错误?)的方法
在 Xcode 中使用 Swift 创建一个新的 Tabbed 应用程序。在 FirstViewController.swift 中使用 performSegueWithIdentifier 导航到第二个视图控制器。在 SecondViewController.swift 中使用 hidesBackButton 隐藏导航栏后退按钮,您将看到问题所在。

尝试添加这个:

let backButton = UIBarButtonItem(title: "", style: .Plain, target: navigationController, action: nil)
navigationItem.leftBarButtonItem = backButton
override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.

    self.navigationController?.navigationBarHidden = false
    var button: UIButton = UIButton()
    button.setImage(UIImage(named: "person-icon.jpg"), forState: .Normal)
    button.frame = CGRectMake(0, 0, 25, 25)
    button.targetForAction("actioncall", withSender: nil)
    var rightItem:UIBarButtonItem = UIBarButtonItem()
    rightItem.customView = button
    self.navigationItem.rightBarButtonItem = rightItem

    let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil)
    navigationItem.leftBarButtonItem = backButton
}

override func viewWillAppear(animated: Bool) {
    let backButton = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Plain, target: navigationController, action: nil)
    navigationItem.leftBarButtonItem = backButton
}

用最新的Swift隐藏后退按钮:

self.navigationItem.setHidesBackButton(true, animated: false)

这对我有用:

override func viewWillAppear(animated: Bool)
{
    super.viewWillAppear(animated)

    self.tabBarController?.navigationItem.hidesBackButton = true
}

尝试添加这个,这对我有用

navigationItem.hidesBackButton = true

您可以使用下面的代码隐藏 UINavigationBar 上的后退按钮。

Swift 3;

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    self.navigationItem.hidesBackButton = true
}

这对我有用

navigationController?.navigationBar.topItem?.hidesBackButton = true

当我在 init() 而不是 viewDidLoad 中设置它时对我有用。虽然奇怪

在 XCode 11 中(可能会更快,不确定),如果您不想以编程方式执行此操作,也可以取消选中情节提要编辑器中属性检查器选项卡下的框。