自定义UITabBar ios7-ios8按钮和背景

自定义UITabBar ios7-ios8按钮和背景,ios,objective-c,iphone,ios7,ios8,Ios,Objective C,Iphone,Ios7,Ios8,我一直在努力改变uitabbar的图标和背景,使它看起来就像我想要的那样。每次我改变背景颜色时,它都会显示颜色,但不是我给定的特定颜色的纯色。此外,我为项目设置的图像在运行时也会变成灰色 所以我有一个带有“开始”按钮的“开始”CV。 按钮代码: - (IBAction)start:(id)sender { UIStoryboard *storyBoard = [self storyboard]; Start *startViewController = [storyBoard instanti

我一直在努力改变uitabbar的图标和背景,使它看起来就像我想要的那样。每次我改变背景颜色时,它都会显示颜色,但不是我给定的特定颜色的纯色。此外,我为项目设置的图像在运行时也会变成灰色

所以我有一个带有“开始”按钮的“开始”CV。 按钮代码:

- (IBAction)start:(id)sender {

UIStoryboard *storyBoard = [self storyboard];
Start *startViewController = [storyBoard instantiateViewControllerWithIdentifier:@"start"];
[self presentViewController:startViewController animated:NO completion:nil];}
正如您所看到的,它只发送到第二个VC,即UITabBarController。 在appdelegate中,我尝试了:

    Start *tabController = (Start *)self.window.rootViewController;

//tab1
UITabBar *tabBar = (UITabBar *)tabController.tabBar;
UITabBarItem *item1 = [tabBar.items objectAtIndex:0];
[item1 setImage:[[UIImage imageNamed:@"1.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

//tab2
UITabBarItem *item2 = [tabBar.items objectAtIndex:1];
[item2 setImage:[[UIImage imageNamed:@"2.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
//tab3
UITabBarItem *item3 = [tabBar.items objectAtIndex:2];
[item3 setImage:[[UIImage imageNamed:@"3.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
//tab4
UITabBarItem *item4 = [tabBar.items objectAtIndex:3];
[item4 setImage:[[UIImage imageNamed:@"4.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
但它似乎不起作用。我看了很多,但我能找到的只是关于setFinishedSelectedImage:withFinishedUnselectedImage:的教程;这并没有真正起到帮助作用,因为它已经被弃用了。到目前为止,我所能做的就是从interfacebuilder设置uitabbar


要更改颜色,我只需更改色调和背景色。还尝试将uiimageview放在UIAbbar后面,但似乎也不起作用。

要使UIAbbar ios7-ios8合算,请使用以下代码

 UITabBarItem *item0 = [self.tabBar.items objectAtIndex:0];
    UITabBarItem *item1 = [self.tabBar.items objectAtIndex:1];
    UITabBarItem *item2 = [self.tabBar.items objectAtIndex:2];
    UITabBarItem *item3 = [self.tabBar.items objectAtIndex:3];

    item0.title = @"item0title";
    item1.title = @"item1title";
    item2.title=@"item2title";
    item3.title=@"item3title";


    [item0 setImage:[[UIImage imageNamed:@"imagename"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [item0 setSelectedImage:[[UIImage imageNamed:@"imagename"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [item1 setImage:[[UIImage imageNamed:@"imagename"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [item1 setSelectedImage:[[UIImage imageNamed:@"imagename"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [item2 setImage:[[UIImage imageNamed:@"imagename"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [item2 setSelectedImage:[[UIImage imageNamed:@"imagename"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];

    [item3 setImage:[[UIImage imageNamed:@"imagename"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    [item3 setSelectedImage:[[UIImage imageNamed:@"imagename"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]];
    //[[UITabBar appearance] setSelectedImageTintColor:[uicolor whitcolor]];
    //[[UITabBar appearance] setBarTintColor:[UIColor yellowColor]];
    //[[UITabBar appearance] setTintColor:[UIColor yellowColor]];
    [[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor yellowColor] }
                                             forState:UIControlStateSelected];
    [[UITabBarItem appearance] setTitleTextAttributes:@{ NSForegroundColorAttributeName : [UIColor whiteColor] }
                                             forState:UIControlStateNormal];

谢谢你的快速回复!对不起,我有个问题,但我应该在哪里使用它呢?我不知道如何从我的appdelegate引用到选项卡栏,我试图创建一个uitabarcontroller,但没有成功创建uitabarcontroller,并在情节提要中选择tabarview并添加自定义类