Frage

In meiner iPhone-Anwendung, habe ich eine Tab-Leiste. Diese Tab-Leiste hält eine UINavigationController. Ich habe:

  • In Interface Builder stellen Sie die Registerkarte Artikel Titel 'Create New'
  • Im UINavigation Controller Ich habe self.tabBarItem.title = 'Create New'; und self.title = 'Create New';
  • In der UIViewController Aufschieben auf den Controller: self.tabBarItem.title = 'Create New'; aber self.title = 'Blah';.

Aber immer, die self.title der ersten View-Controller auf die Navigationssteuerung gedrückt wird gezeigt (Blah). Wie würden Sie den Titel der Tableiste Artikel eingestellt? Vielen Dank, Isaac Waller

War es hilfreich?

Lösung

Ich fand, wenn ich self.navigationItem.title = 'Blah'; statt self.title verwendet wird, würde es funktionieren.

Andere Tipps

Ich löste nur das gleiche Problem. Ich war mit self.tabBarItem.item für die erste Registerkarte meiner tabBarController, die die erste und einzige ist, das seine navigationController lädt. So für den ersten Registerkarte in einer Tab-Leiste haben Sie den Titel anders einzustellen. Ich werde versuchen, zu veranschaulichen:

Tab-Leiste mit 3 tabs (a UINavigationController bietet Inhalt jedes Register)

  1. Tab 1
    • Lasten tab1NavController.m (Sets self.tabBarItem.item zu '1.')
    • Lasten tab1ViewController.m (Sets self.title zu 'Tab1 View'
  2. Tab 2
    • Lasten tab2NavController.m (Sets self.tabBarItem.item zu '2.')
    • Lasten tab2ViewController.m (Sets self.title auf Registerkarte Ansicht '
  3. Tab 3
    • Lasten tab3NavController.m (Sets self.tabBarItem.item auf '3.')
    • Lasten tab3ViewController.m (Sets self.title zu 'TAB3 View'

Wenn die Tableiste lädt alle seine viewControllers für jede der drei Registerkarten, die Registerkarte Schaltflächen in der Tab-Leiste haben diese Labels:

  1. 'tab1 View'
  2. '2.'
  3. '3.'

Das ist, weil die 2. und 3. nav-Controller nicht geladen werden, wenn der Benutzer diese Registerkarten auswählt. Das erste Register geladen wird, wenn der UITabBarController geladen wird und aufgrund der Reihenfolge der Ereignisse ersetzt er den tabBarItem.title mit dem NavController des RootViewController des self.title.

Lösung

Um dies zu beheben, nutzen Sie einfach self.navigationItem.title statt self.title. Sie haben nur diese RootViewController des NavController des für den ersten Registerkarte zu tun.

Ich hoffe, das macht Sinn. Sie haben Ihr eigenes Problem zu lösen, aber ich wollte Sie und alle anderen wissen, warum es so funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top