UITabbar具有部分透明背景

时间:2012-10-06 01:30:38

标签: background uitabbar transparent

长期读者,第一次海报。请温柔:P

我正在开发一款应用,并为UITabbar元素提供背景图片,该元素对顶部的几个像素是透明的。我已经搜索了很多,尝试了许多解决方案,我可以找到(设置色调,背景颜色为clearColor,将alpha设置为0.2等)但我仍然看到一条黑线,其中tabbar应该是透明的。我正在设置背景如下(请参阅注释掉的行以获取更多我尝试过但不起作用的内容)

//[[UITabBar appearance] setBackgroundColor:[UIColor clearColor]];
//[self.view setBackgroundColor:[UIColor clearColor]];
//[super.view setBackgroundColor:[UIColor clearColor]];
//UITabBar.super.setBackgroundColor:[UIColor clearColor]];
[[UITabBar appearance] setBackgroundColor:[[UIColor alloc] initWithRed:0 green:0 blue:0 alpha:0.2]];
//[[UITabBar appearance] setTintColor:[UIColor blackColor]];
[[UITabBar appearance] setTintColor:[[UIColor alloc] initWithRed:0 green:0 blue:0 alpha:0.1]];
//[[UITabBar appearance] setAlpha:0.0];// setTintColor:[UIColor magentaColor]];
[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@"tabbar.png"]];

屏幕截图可以是http://i.imgur.com/m1tW5.png

  • 该应用使用了tabbarcontroller。
  • 当我将背景颜色设置为白色或任何其他颜色时,黑线会成功改变颜色,但只要我将颜色设置为clearColor,黑线就会回来。
  • 当我隐藏整个标签栏时,背后没有任何疯狂的东西,我可以成功地看到奶油背景。
  • 图像是一个透明顶部的png,黑色线条如前所述。

有人对我可能做错了什么有任何建议吗?

将非常感谢帮助。

编辑:我使用的是iOS 5.0,并不关心支持以前的iOS版本(如果打开任何其他可能的选择)。

2 个答案:

答案 0 :(得分:2)

我目前正试图解决类似的问题。

我相信黑色是:

  1. TabBars Superviews背景,在这种情况下,您可以尝试设置tabBars超级视图背景颜色。我这里没有我的mac所以我无法尝试,而且我没有在你的“试用”代码中看到它。

  2. 或者它是tabBar的边框,您可以在其中更改tabBar框架的bordercolor。

    tabbar.frame.borderColor = [UIColor whiteColor];
    
  3. 您需要导入QuartzCore框架来操作boderColor。

    如果有帮助,请告诉我。

答案 1 :(得分:1)

我决定采用我在其他地方遇到的“hack-ish”解决方案。

我在标签栏的背景图像区域使用与背景相同的颜色来创建透明度的幻觉。不是很透明,但这是我花了无数个小时才能想到的最好的。

也许这将是一个解决方案,适用于未来类似位置的其他人。

相关问题