2

我正在尝试创建一个标签栏透明(或看起来透明)的应用程序。为此,我在视图中使用图像的一部分。并将剩余部分设置为标签栏的背景。问题是标签栏出现较暗的阴影。我现在没有主意了。下面是屏幕截图

在此处输入图像描述

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"tabbar_bg.png"]];
self.tabBar.backgroundColor=[UIColor whiteColor];
[self.tabBar insertSubview:imgView atIndex:1];
//    [self.tabBar setSelectionIndicatorImage:[UIImage imageNamed:@"transp.png"]];
//    [self.tabBar setSelectedImageTintColor:[UIColor clearColor]];
[[UITabBar appearance] setTintColor:[UIColor clearColor]];
[[UITabBar appearance] setSelectedImageTintColor:[UIColor clearColor]];
[[UITabBar appearance] setSelectionIndicatorImage:[UIImage imageNamed:@"transp.png"]];

viewDidLoad以上是我在自定义UITabBarController类中尝试过的代码。“tabbar_bg.png”是用作标签栏背景的图像,“transp.png”是用作 selectionIndicator 图像的透明图像。

谢谢您的帮助。

4

2 回答 2

2

尝试

[self.tabBar setBackgroundImage:[UIImage new]];

这个技巧也适用于UINavigationBar.

于 2014-09-08T11:39:25.147 回答
0

您是否尝试过创建它的子类?

@implementation TabBarInvisible
-(id)init
{
    self = [super init];
    if (self)
    {
        self.opaque = NO;
        self.backgroundColor = [UIColor clearColor];
        self.backgroundImage = nil;
    }
    return self;
}
-(void)drawRect:(CGRect)rect
{

}

@end
于 2013-09-11T00:03:39.753 回答