2010-03-15 22 views

Trả lời

25
yourViewController.tabBarItem = [[UITabBarItem alloc] 
initWithTitle:NSLocalizedString(@"Name", @"Name") 
image:[UIImage imageNamed:@"tab_ yourViewController.png"] 
tag:3]; 

Các viewControllers được thêm vào thanh tab, vì vậy hình ảnh và tên nên được thiết lập trước khi thanh tab trở nên rõ ràng (appdelegate nếu họ đang có trên đầu ứng dụng ví dụ). Sau đó, bạn có thể sử dụng đoạn mã trên để thay đổi biểu tượng và văn bản từ loadView hoặc viewDidAppear trong khung nhìn viewController đó.

+1

này đã làm việc một cách hoàn hảo. Cảm ơn! –

+0

tính năng này không hoạt động trong iOS 4.x và bạn quên giải phóng bộ nhớ – Gargo

1

Có. UITabBar của bạn có thuộc tính được gọi là items, là một mảng gồm UITabBarItem giây cho mỗi mục trong tab. Bạn có thể tạo một UITabBarItem bằng cách sử dụng công cụ xây dựng –initWithTitle:image:tag: để sử dụng hình ảnh của riêng bạn hoặc nhà xây dựng –initWithTabBarSystemItem:tag: để sử dụng hình ảnh hệ thống.

1

Bạn cũng có thể làm điều này trong AppDelegate, bằng cách khai báo một iVar UITabBarController và trỏ nó đến tabBarController của ứng dụng. Bạn có thể truy cập các tiêu đề riêng lẻ bằng cách sử dụng mảng items. và setTitle.

@synthesize tabBarController; 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 
    self.tabBarController = (UITabBarController*)self.window.rootViewController; 
    NSArray* items = [self.tabBarController.tabBar items]; 
    [[items objectAtIndex:0] setTitle:@"Home"]; 
    [[items objectAtIndex:1] setTitle:@"Cool"]; 
    [[items objectAtIndex:2] setTitle:@"Stuff"]; 
    [[items objectAtIndex:3] setTitle:@"Settings"]; 
    return YES; 
} 
0

cách chính xác là: Thêm này dưới dòng trong viewDidLoad

[self.tabBarItem setImage:[UIImage imageNamed:@"<Image Name>"]]; 

để viewcontrollers được thiết lập bên trong UITabBarController

Các vấn đề liên quan