自定义IOS UITabbarController,隐藏顶灰线

时间:2012-06-19 15:55:59

标签: ios uitabbarcontroller uitabbar

我想用uitabbar用独特的颜色制作一个视图,即我不想将视图分成UITabbar和其他部分,所以我用自定义颜色以编程方式创建了一个自定义UITabbar。 UITabbar和“视图的其余部分”具有相同的颜色,但UITabbar顶部有一条灰色线条,用于分隔部分。我怎么能隐藏它?

这是一个示例图片,我想删除那条暗线: https://picasaweb.google.com/felixdl/20Giugno2012#5756005463317234882

谢谢!这很完美!我添加的行是:

[[UITabBar appearance] setBackgroundImage:[UIImage imageNamed:@“myImage.jpg”]];

我从未在

之前使用过“外观”标签

2 个答案:

答案 0 :(得分:1)

如果你正在为iOS 5构建,你可以将背景设置为图像,这将消除你所说的灰线。

[uiTabBarController setBackgroundImage:[UIImage imageNames:@"my_background.png"]];

这确实要求您拥有与您的程序化创建的颜色相匹配的图像。

在iOS4中,您可以覆盖drawRect功能(这个功能要复杂得多,但如果您正在制作iOS 5应用程序,我很乐意回答)

答案 1 :(得分:0)

试试这个, **目标-C **

//Remove shadow image by assigning nil value.
[[UITabBar appearance] setShadowImage: nil];

// or 

// Assing UIImage instance without image reference
[[UITabBar appearance] setShadowImage: [[UIImage alloc] init]];

** Swift **

//Remove shadow image by assigning nil value.
UITabBar.appearance().shadowImage = nil

// or 

// Assing UIImage instance without image reference
UITabBar.appearance().shadowImage = UIImage()


这是shadowImage的Apple文档。

@available(iOS 6.0, *)
open var shadowImage: UIImage?
  

默认为零。当非零时,显示自定义阴影图像而不是   默认阴影图像。要显示自定义阴影,请自定义   必须使用-setBackgroundImage设置背景图像:(如果是   使用默认背景图像,默认阴影图像将是   使用)。