0

Ich lese über UINavigationController, und es macht Sinn, einen navigationItem im NavigationController zu haben,Warum gibt es ein NavigationItem im UIViewController?

aber wenn ich eine UIViewController schaffen, gibt es auch eine Eigenschaft namens navigationItem vom Typ UINavigationItem

so jetzt habe ich:

  1. navigationItem in der UIViewController

  2. navigationItem im UINavigationController

tun sie unterschiedliche Zwecke haben?

Es klingt wie die navigationItem im UINavigationController funktioniert nicht, weil ich in einem UIViewController diesen Code hat:

self.navigationController!.navigationItem.title = "test2" 

und der Titel änderte sich nicht, während ich diesen Code tat:

self.navigationItem.title = "test" 

und der Titel geändert

+0

Was ist Ihre Frage in Ihren Fragen? –

+0

Wenn Sie kein Navigationselement oder eine Leiste in Uiviewcontroller haben, wo Sie Schaltflächen und andere Dinge hinzufügen würden, während Sie von einem Bildschirm zu einem anderen Bildschirm navigieren. Wie Zurück-Taste und andere Taste, es sieht gut aus, wenn Sie die Navigationsleiste verwenden Ihre Anwendung – user1374

+1

Siehe http: // stackoverflow.com/fragen/16913332/navigationcontroller-navigationitem-vs-navigationitem. –

Antwort

0

Der Punkt ist, dass alleUIViewController s UINavigationItem haben.

Ein UINavigationController entscheidet, was in seinem navigationBar angezeigt wird, indem er das Navigationssystem des aktuellen ViewControllers betrachtet.

So bekommen Sie das;

vcA.navigationItem.title = "A" 
vcB.navigationItem.title = "B" 

navigationController = UINavigationController(rootViewController: vcA) 
// The title in the navigationBar is now "A" 

navigationController.pushViewController(vcB, animated: true) 
// The title in the navigationBar is now "B" 

Da UINavigationController ist auch eine Unterklasse von UIViewController, den navigationItem erbt auch, obwohl es in den meisten Fällen nutzlos.

+0

Wäre das für ToolBar gleich? So hat uiviewController eine ToolBar und uINavigationController hat toolBar – sarah

0

One ist

"Der nächste Vorfahr im View-Controller-Hierarchie, die eine Navigationssteuerung ist"

self.navigationController!.navigationItem.title = "test2" 

enter image description here

Der zweite Typ:

„der Navigationspunkt verwendet, um die Ansicht Controller repräsentiert in die Navigationsleiste eines Elternteils " self.navigationItem.title =" test "

enter image description here

Verwandte Themen