2012-11-17 162 views
0

我有两个自定义选项卡栏项目,当它们在特定控制器中被选定时,我想在颜色中突出显示。但是,当他们没有被选中时,我希望tabbar显示我创建的透明标签栏项目图像。如何在使用自定义选项卡栏项目时选择它,并选择不透明的项目

我试图在视图控制器中实现相应的代码,但它不能正常工作。

[[self tabBarItem] setFinishedSelectedImage:[UIImage imageNamed:@"tab.png"] `withFinishedUnselectedImage:[UIImage imageNamed:@"transparent.png"]];` 
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil方法

什么我做错了

回答

0

使用以下方法来定制你的标签栏:

//UITabBar Customizing Appearance 
{ 
    [[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"tabBarBg"]]; 

    int numberOfTabs = 0; 
    numberOfTabs = [[self.tabBarController viewControllers] count]; 

    UIImage *selectionIndicatorImage = [UIImage imageNamed:@"selectionIndicatorImage"]; 
    if (numberOfTabs) { 
     selectionIndicatorImage = [AppDelegate scaleImage:selectionIndicatorImage 
                toSize:CGSizeMake((320.0/numberOfTabs), selectionIndicatorImage.size.height)]; 
    } 

    [[UITabBar appearance] setSelectionIndicatorImage:selectionIndicatorImage];   
    [[UITabBar appearance] setSelectedImageTintColor:[UIColor colorWithRed:0.0 green:169.0/255.0 blue:157.0/255.0 alpha:1.0]]; 

    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                 [UIColor colorWithWhite:1.0 alpha:1], UITextAttributeTextColor, 
                 [UIColor lightGrayColor], UITextAttributeTextShadowColor, nil] 
              forState:UIControlStateNormal]; 
    [[UITabBarItem appearance] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys: 
                 [UIColor colorWithWhite:1.0 alpha:1], UITextAttributeTextColor, 
                 [UIColor lightGrayColor], UITextAttributeTextShadowColor, nil] 
              forState:UIControlStateSelected]; 
} 

使用创建的图像为选定和未选定标签items.Also您可以指定标签数量的图像。

相关问题