web-dev-qa-db-ja.com

Swift=

あるビューから別のビューに移行するときに戻るボタンを非表示にしたい。この問題に関する質問を読みましたが、すべての答えは「use hidesBackButton」でした。これの問題は次のとおりです。

  • viewDidLoad/viewWillAppearに配置すると、戻るボタンの矢印が非表示になりますが、文字列「Back」は非表示になりません。

  • viewDidAppearに配置すると、戻るボタンは消えますが、ユーザーには表示されます

どうすれば修正できますか?

編集:

この問題(またはバグ?)を再現する方法は次のとおりです。
Swift Xcodeで新しいTabbedアプリケーションを作成します。FirstViewController.SwiftでperformSegueWithIdentifierを使用して2番目のView Controllerに移動します。 hidesBackButtonを使用すると、問題が何であるかがわかります。

29
Amer Hukic

これを追加してみてください:

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

最新のSwiftで戻るボタンを非表示にするには:

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

以下のコードを使用して、UINavigationBarの戻るボタンを非表示にできます。

Swift;

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

これは私のために働いた

navigationController?.navigationBar.topItem?.hidesBackButton = true
10
luhuiya

これを追加してみてください、これは私のために働いた

navigationItem.hidesBackButton = true
6
Ha cong Thuan
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
}
6
A.G

これは私のために働いた:

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

    self.tabBarController?.navigationItem.hidesBackButton = true
}
2
Bruno Cunha

ViewDidLoadの代わりにinit()で設定したときに役立ちました。奇妙な

1
Joe M