2009-07-16 11 views
4

Ich bin und erstellen UITabBarController programmatisch in meinem App Delegate.Einstellung Titel der UITabBar

Ich habe 5 View-Controller in meiner Tab-Leiste, die 5 Ansichten bedeutet.

Ich möchte den Titel der verschiedenen Registerkarten von Contrller festlegen.

Bitte helfen Sie mir, es zu tun.

Dank

Antwort

14
NSArray *tabBarItemTitles = [NSArray arrayWithObjects: @"Title1", @"Title2", @"Title3", nil]; 

for (UIViewController *viewController in self.viewControllers) 
{ 
    viewController.title = [tabBarItemTitles objectAtIndex: [self.viewControllers indexOfObject: viewController]]; 
} 

Dies setzt den Titel eines jeden der Ansicht-Controller (der Titel oben in der Navigationssteuerung dargestellt) mit dem passenden Titel in dem Array tabBarItemTitles.

Wenn Sie versuchen, den Text in der tabBarItem zu setzen, dies tun:

NSArray *tabBarItemTitles = [NSArray arrayWithObjects: @"Title1", @"Title2", @"Title3", nil]; 

for (UItabBarItem *item in self.items) 
{ 
    item.title = [tabBarItemTitles objectAtIndex: [self.items indexOfObject: item]]; 
} 
4

Der Titel für jedes Register in der Registerleiste gezeigt entspricht allgemein den Titel des entsprechenden Viewcontroller.

Zum Beispiel, wenn ich einen TabBarController mit fünf Registerkarten habe, dann heißt das, ich habe 5 View-Controller in meinem TabBarController. Der Titel des ersten Registerkarte wird die Titel-Eigenschaft des ersten View-Controller sein, usw. Mit anderen Worten, wenn Sie dies getan haben,

[myFirstViewController setTitle:@"First"]; 

dann „First“ wird der Titel Ihrer Tab sein.

Sie können den Titel auch direkt bearbeiten, indem Sie das UITabBarItem (eine Unterklasse von UIBarItem) abrufen und den Titel selbst festlegen. Dies ist jedoch normalerweise nur erforderlich, wenn einer Ihrer viewController-Titel zu lang ist, um ordnungsgemäß angezeigt zu werden.

+0

Also, wenn ich die UITabbarItem dann verwenden möchten, was ich tun muss. Wie wenn ich das tue tabBarController.tabBarItem.title ..... Es funktioniert nicht. Wie bekomme ich die TabBarItem von allen 5 Tabs. – rkb

+0

@rkbang: "myUITabBarController.tabBar.items" gibt ein NSArray mit UITabBarItems für diese Registerkartenleiste zurück. –

Verwandte Themen