2016-05-14 6 views
0

Ich habe einfache View-Controller, der in Navigation Controller eingebettet ist, auch ich durch Drag a'drop eine Bar Schaltfläche Element auf der rechten Seite, verbunden als Aktion mit dem Code und nannte es bearbeiten. Also, was ich will, klicken Sie auf, wenn Sie auf die Schaltfläche sollte es den Titel prüfen und ändern, wenn nötig, hier ist der Code:Navigation Element ändert nicht den Titel

class MyClass: ViewController { 

    @IBAction func editButtonPressed(sender: AnyObject) { 

    if (self.navigationItem.rightBarButtonItem?.title == "Edit") { 
     self.navigationItem.rightBarButtonItem?.title == "Done" 
    } else { 
     self.navigationItem.rightBarButtonItem?.title = "Edit" 
    } 

aber seine nicht funktioniert. Dank jemals für die Fortschritte

Antwort

0

Wenn dies hier kein Tippfehler war, dann ist die Doppel == ist die Frage:

self.navigationItem.rightBarButtonItem?.title == "Done" 

Gerade

ändern
self.navigationItem.rightBarButtonItem?.title = "Done" 
+0

Sie richtig, was für ein einfacher Fehler. Und ich dachte über so viele komplexe Lösungen nach :) –

0

, wenn Sie benutzerdefinierte Ansicht verwenden mit UIButton für rightBarButtonItem, dann können Sie rightBarButtonItem.customView als UIButton verwenden. Verwenden Sie die Schaltfläche Titel vergleichen

+0

Ich möchte nicht verwenden und vergleichen Sie die benutzerdefinierte Ansicht. Mein Ziel ist es, mit navigationItem.rightBarButtonItem umzugehen und diesen Titel nach dem Tippen zu ändern –

Verwandte Themen