2015-01-11 5 views

Antwort

28

Sie können in einer strong Eigenschaft eine Kopie des leftBarButtonItem speichern und setzen Sie ihn zurück, nachdem die Benutzer anmelden.

var leftBarButtonItem : UIBarButtonItem! 

Innen viewDidLoad

self.leftBarButtonItem = UIBarButtonItem(title: "test", style:   UIBarButtonItemStyle.Plain, target: nil, action: nil) 

In der Logik

if loggedIn 
{ 
    self.navigationItem.leftBarButtonItem = self.leftBarButtonItem 
} 
else 
{ 
    self.navigationItem.leftBarButtonItem = nil 
} 
3

Best Way ist nur benutzerdefinierte Ihre Bar-Taste mit Bild. Setzen Sie barbuttom.image = nil auf Ausblenden erneut zuweisen das Bild zu zeigen. Und vergessen Sie nicht, den barbutton isEnabled als false zu setzen.

1

Ich habe mehr als 2 menuitems und remove/add menuitem ist ein Overhead. Dieser Codeausschnitt funktionierte für mich.

func showMenuItem(){ 

    menuItemQuit.customView?.isHidden = false 
    menuItemQuit.plainView.isHidden = false 
} 

func hideMenuItem(){ 

    menuItemQuit.customView?.isHidden = true 
    menuItemQuit.plainView.isHidden = true 
} 
0

wenn Sie wollen/show UIBarButtonItem verstecken: Für Swift 3

Verwendet unter einfachen Code:

Erklärung:

var doneButton = UIBarButtonItem() 

In ViewDidLoad () oder ViewWillAppear() oder wo Sie möchten verstecken: [hide bar Taste]

self.navigationItem.rightBarButtonItem = nil 

wo Sie bar Taste angezeigt werden soll: [Einsatz überall in Ihrem Code]

self.navigationItem.rightBarButtonItem = self.doneButton 
     doneButton = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.plain, target: self, action: #selector(YourViewController.dismissPicker)) 
Verwandte Themen