繁体   English   中英

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

[英]customizing a UITabBar ios7-ios8 buttons and background

我一直在努力更改uitabbar的图标和背景,以使其看起来像我想要的样子。 每次更改背景颜色时,它都会显示颜色,但不会像我给定的特定颜色那样固定。 运行时,我为这些项目设置的图像也会变灰。

所以我有一个通过开始按钮开始的简历。 按钮代码:

- (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放在uitabbar后面,但这似乎也不起作用。

要统一UITabBar 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];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM