Set UITabBarItem Titel programmatisch?
Meine app basiert auf einer tab-bar-Architektur. Um eine einfache Internationalisierung Mechaniker, Schreibe ich nicht jeden string in XIB-Dateien. viewdidload erlaubt zu ändern programmaticaly die strings in den views.
Wenn meine app gestartet wird, sehe ich die 4 tabs. Aber in der Tat nur die erste lädt die view-controller. Die anderen warten auf Benutzer, klicken Sie auf geladen werden.
Registerkarten-Titel kann geändert werden, indem [self setTitle:@"Mouhahaha"]; in viewDidLoad der geladenen view-controller.
Wenn ich will, dass mein Internationalisierung Mechaniker zur Verfügung, die ich nicht einstellen in meinem XIB der name des tabbar-Elemente. Aber, wie bei start-alle tab' view-Controller werden nicht geladen, ich habe leere Titel für einige Registerkarten. Der richtige Titel ist nur festgelegt, wenn der Benutzer klicken Sie auf die Registerkarte.
Ich bin auf der Suche nach einer Möglichkeit, um diesen Titel programaticaly für jeden tabbaritem. Haben Sie Hinweise ?
Vielen Dank.
kheraud
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alles, was Sie tun müssen, ist, stellen Sie eine Instanz des UITabBarController, dann alloc alle Ansichten, die Sie wollen, dann setzen Sie den UITabBarController Ansichten. Stellen Sie sicher, dass Ihre TabBarController ist die eine, die sichtbar ist. Stellen Sie außerdem sicher, dass alle viewControllers Sie wollen in der tab-Leiste eingeführt werden mit
#import
.Setzen Sie diese in die Kommentarzeichen vor der viewDidLoad-Methode des ersten Controllers zugeordnet.
Alternativ könnte man nur ändern, wie auf Ihrem ApplicationDelegate legt den TabBarController, werde ich aber nicht eingehen.
Hoffe, das hilft
meine bevorzugte Methode, dies zu tun programmgesteuert zusammen mit dem storyboard ist eine Unterklasse von
UITabBarController
, habe mein tab bar controller scene in meinem storyboard verwenden Sie die neue Unterklasse (mit 3UIViewController
Beziehungen aus der tab-bar-controller, um die gewünschte view-controller in dem Fall unten), und überschreiben dannviewWillAppear: