繁体   English   中英

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

[英]Hide back button in navigation bar with hidesBackButton in Swift

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

  • 当我把它放在 viewDidLoad/viewWillAppear 中时,后退按钮箭头会隐藏,但字符串“后退”没有。

  • 当我把它放在 viewDidAppear 中时,后退按钮消失了,但它对用户可见

我怎样才能解决这个问题?

编辑:

这是您如何复制此问题(或错误?)
在 Xcode 中使用 Swift 制作一个新的选项卡式应用程序。 在 FirstViewController.swift 中使用 performSegueWithIdentifier 导航到第二个视图控制器。 在 SecondViewController.swift 中使用 hidesBackButton 隐藏导航栏后退按钮,您将看到问题所在。

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

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

尝试添加这个:

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

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

斯威夫特 3 ;

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

这对我有用

navigationController?.navigationBar.topItem?.hidesBackButton = true
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
}

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

navigationItem.hidesBackButton = true

这对我有用:

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

    self.tabBarController?.navigationItem.hidesBackButton = true
}

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

在 XCode 11(也许更快,不确定)中,如果您不想以编程方式进行,也可以取消选中故事板编辑器中属性检查器选项卡下的框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM