iOS TabBarController 背景颜色

3

我有一个tabbarcontroller,它被推到了一个navigationController上。我尝试更改选项卡栏的背景颜色,但是没有效果:

    UIViewController *viewController1, *viewController2;
    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
        viewController1 = [[Tab1_iPhone alloc] initWithNibName:@"tab1_iPhone" bundle:nil];
        viewController2 = [[Tab2_iPhone alloc] initWithNibName:@"tab2_iPhone" bundle:nil]; 
    } 
    self.tabBarController = [[UITabBarController alloc] init];

    CGRect frame = CGRectMake(0.0, 0.0, 480, 48);
    UIView *v = [[UIView alloc] initWithFrame:frame];
    [v setBackgroundColor:[UIColor blueColor]]; //003366
    [v setAlpha:1.0];
    [[self.tabBarController tabBar] insertSubview:v atIndex:0];


    self.tabBarController.viewControllers = [NSArray arrayWithObjects: viewController1, viewController2, nil];
    [self.navigationController setNavigationBarHidden:YES];
    [self.navigationController pushViewController:self.tabBarController animated:YES];

    [self.window makeKeyAndVisible];

这是我在一个类似的帖子中看到的代码,可以改变背景颜色:

    CGRect frame = CGRectMake(0.0, 0.0, 480, 48);
    UIView *v = [[UIView alloc] initWithFrame:frame];
    [v setBackgroundColor:[UIColor blueColor]]; //003366
    [v setAlpha:1.0];
    [[self.tabBarController tabBar] insertSubview:v atIndex:0];

我做错了什么吗?

谢谢。


1
尝试使用addSubview,而不是insertSubview。 - craig1231
1个回答

4
以下代码可以帮助您在选项卡中添加具有RGB值的自定义颜色。
self.tabBarController.tabBar.tintColor = [[UIColor alloc] initWithRed:0.00
                                                            green:0.62
                                                             blue:0.93
                                                            alpha:1.0];

这不会改变背景颜色,只会改变选项卡栏图标的颜色。 - Max Desiatov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接