iPhone Objective-C: Programmgesteuert ändern Titel der tab-bar Element in der tab-Leiste erstellt mit IB?
Gerade jetzt, ich bin Einstellung der Titel in die Kommentarzeichen vor der viewDidLoad der root-Ansicht von der Registerkarte, die sich nur ändert, wenn ich Sie auf die Registerkarte. Ich will, dass dieses gesetzt werden, bevor ich wählen Sie die Registerkarte. Ich habe versucht, so etwas wie:
[[self.parentViewController.tabBarController.tabBar.items objectAtIndex:2] title] = @"string";
in der ersten Ansicht, dass die Ladungen in einem anderen tab, aber es ist eindeutig etwas schief, da ich eine linke operand Fehler.
Was ist der richtige Weg, das zu erreichen, was ich versuche zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, die Titel in awakeFromNib statt viewDidLoad. Die Ansicht für einen view-controller ist eigentlich nicht geladen, bis Sie die Ansicht, und die tab-bar-controller standardmäßig nicht auf die Ansicht einer view-controller, bis Sie tatsächlich wählen Sie es (das ist, warum Sie sah, den Titel zu ändern, wenn Sie gewählt werden, das Register).
Da die Feder ist das erstellen der view-controller zu starten (vorausgesetzt, Sie haben gebaut Ihr tab-bar-controller im IB) awakeFromNib wird aufgerufen, sobald der view-controller wurde gebaut, bevor die tab-bar-controller kann Fragen, was der Titel ist.
Die syntax ist etwas aus hier. Sie wollte wohl so etwas wie:
Jedoch, das wird nicht funktionieren, da es keine
title
- Eigenschaft festlegen. In der Tat, es gibt keinen Weg, ich kann sehen, ändernUITabBarItem
's Titel, sobald es initialisiert wurde. Du wirstUITabBar
'ssetItems:animated:
Methode, um die gesamte Gruppe von Elementen auf einmal. Aber es wird nicht lustig werden.Ich Wette, das wäre ein Apple-HIG Verletzung, die ist, warum gibt es keinen einfachen Weg, es zu tun mit der aktuellen API. Überdenken Sie Ihren Entwurf und Fragen Sie sich, warum Sie möchten, ändern Sie die Namen der Reiter, die verwirren Ihre Benutzer.