更改iphone中自定义选项卡栏的颜色

更改iphone中自定义选项卡栏的颜色,iphone,Iphone,我在应用程序中动态添加了一个选项卡栏,如下所示:- if (isLogin == TRUE) { rootController = [[SettingsViewController alloc] init]; tabTitle = @"Settings"; navTitle = @"Settings"; tabImage = [UIImage imageNamed:@"icon1.png"]; } else {

我在应用程序中动态添加了一个选项卡栏,如下所示:-

 if (isLogin == TRUE) {

        rootController = [[SettingsViewController alloc] init];
        tabTitle = @"Settings";    
        navTitle = @"Settings";
        tabImage = [UIImage imageNamed:@"icon1.png"];

 } 
 else
 {

        root =TRUE;
        rootController = [[RootViewController alloc] init];
        tabTitle = @"Home";    
        navTitle = @"Login";
        tabImage = [UIImage imageNamed:@"icon1.png"];
 }

 break;

 case 1:
    rootController = [[AboutUs alloc] init];
    tabTitle = @"AboutUs";    
    navTitle = @"AboutUs";
    tabImage = [UIImage imageNamed:@"icon2.png"];    
    break;          
 case 2:
    rootController = [[ContactUsViewController alloc] init];
    tabTitle = @"Contact Us";    
    navTitle = @"Contact Us";
    tabImage = [UIImage imageNamed:@"icon3.png"];    
    break;          
 case 3:
    rootController = [[MoreViewController alloc] init];
    tabTitle = @"More";    
    navTitle = @"More";
    tabImage = [UIImage imageNamed:@"icon4.png"];    
    break;

 rootController.view.hidden = FALSE;
 UINavigationController *subController = [[UINavigationController alloc]
 initWithRootViewController:rootController];
 subController.navigationBar.tintColor = [UIColor colorWithRed:(110.0/255.0) green:(184.0/255.0) blue:(71.0/255.0) alpha:1.0];
 subController.navigationBar.topItem.title = navTitle;              
 subController.title = tabTitle;
 subController.navigationItem.hidesBackButton =YES;
 subController.tabBarItem.image = tabImage;
 NSLog(@"%@",subController);

 [controllers addObject:subController];
 NSLog(@"%@",controllers);
 [subController release];       
 [rootController release];
因此,它将显示选项卡,如下表所示:-

但我想将选项卡栏的默认检测颜色(蓝色)剪切为橙色,并希望选项卡栏的外观如下所示:-


请帮帮我;如何执行此操作?

您不能更改选项卡栏的默认颜色。这是我们在iOS应用程序中必须遵循的用户界面准则之一


当无法更改选项卡栏的默认颜色时,我对这个问题进行了评论。现在,我们可以更改选项卡栏的默认颜色。

您可以更改选项卡栏的颜色以及苹果公司批准的许多应用程序。您可以将uitabar子类化,并根据需要更改颜色。在您的情况下,需要将uitabaritem子类化。这是一个stackoverflow帖子,看看吧

如果不允许定制标签栏,那么苹果会用自己的游戏中心应用程序打破自己的指导原则(顺便说一句,这款应用程序的设计看起来很不错)

在AppDelegete.m中


您也可以尝试更改选项卡栏图标图像,而不是更改颜色

喜欢

在tabbar控制器委托方法中

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController

{
    if([tabBarController selectedIndex] == 0)
    {
        [viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]];
    }    
}
通过此操作,您可以更改tabbaritem图像

或者您可以直接在视图控制器init(或viewwillappease)方法中使用,如

        [viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]];

可以更改选项卡栏按钮的颜色。请看我的答案。@Rahul感谢您分享此信息。但仍有可能,该应用程序可能会被苹果拒绝?你可以在应用商店中看到许多应用程序在UITabBar上具有自定义颜色。你可以更改选项卡栏上的所有颜色或文本颜色。要更改颜色,请参阅下面我的帖子。谢谢回复。我已经添加了上述内容(我的代码)在我的appdelegate方法中,因为我希望此选项卡栏在我的整个应用程序中工作,并且我已检查了您的回复,但它不工作。请您详细说明如何操作。或者您可以告诉我其他方法。请帮助me@shweta仔细阅读这篇文章,你应该接受拉胡尔·维亚斯的回答
        [viewController.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@"selected.png"]withFinishedUnselectedImage:[UIImage imageNamed:@"unselect.png"]];