2014-02-28 28 views
0

我有一個包含5個TabBarItems一個TabBarController,我想有過這些項目的控制,所以我創建一個擴展UITabBarController一個新的類,並使其成爲代表的TabBarController <UITabBarControllerDelegate>然後我結合與此類故事板的TabBarController,但我無法創造任何UITabBarItem任何出口還我試圖打印每TabBarItem的冠軍,在viewWillAppear中方法如下:無法訪問UITabBarItem(S)內UITabBar

-(void)viewWillAppear:(BOOL)animated{ 
for (int i=0; i<5; i++) { 
    UITabBarItem *tabItem=[self.tabBarController.tabBar.items objectAtIndex:i]; 
    NSLog(@"Title:-------->%@",[tabItem title]); 
} 

} 

但它打印空foreach項目標題,我可以做什麼來控制這些TabBarItems?

回答

1

問題是您訪問UITabBar的方式。

正如你所說,你已經有了這個代碼放置在從UITabBarController繼承的類,那麼你應該訪問UITabBar

self.tabBar 

代替

self.tabBarController.tabBar 

嘗試使用這種高效代碼:

for(UITabBarItem *item in [self.tabBar items]) { 
    NSLog(@"Title: %@", [item title]); 
} 

下面是附件樣本項目。 Project attached

0
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) 
    { 
     self.title = NSLocalizedString(@"Favorites", @"Favorites"); 
     self.tabBarItem.image = [UIImage imageNamed:@"first"]; 
    } 
    return self; 
}