簡體   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