在iOS7中删除UITabBar水平分隔符

时间:2014-04-17 23:36:18

标签: ios7 uitabbar user-experience

我想删除UITabBar和屏幕其余部分之间的水平分隔线。我问the same question as this guy但更新了iOS7。

设置UITabBar的背景图像不会缓解问题,也不会设置[UITabBar appearance]对象的背景图像。

在iOS7中这仍然可以吗?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:5)

您还可以使用以下代码隐藏阴影线:

[self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"];

<强>夫特

self.tabBar.setValue(true, forKey: "_hidesShadow")

答案 1 :(得分:2)

答案与删除导航栏或工具栏的分隔符非常相似。

官方说来,这只能通过将shadowImage设置为空图像来实现。但是,仔细查看documentation,我们就会看到:

  

要显示自定义阴影图像,必须使用自定义背景图像   也可以使用backgroundImage属性进行设置。如果是默认值   使用背景图像,然后将使用默认阴影图像   无论此属性的值如何。

通过使用自定义背景图像,您将失去模糊的背景半透明效果。

分隔符是UIImageView,它是标签栏的子视图。您可以在选项卡栏的层次结构中找到它并将其设置为隐藏。

答案 2 :(得分:1)

tabBar.shadowImage = [UIImage new];使用透明图片,因此更为可取。

在斯威夫特,
tabBar.shadowImage = UIImage()