拆下iOS7中的UITabBar水平分隔符

拆下iOS7中的UITabBar水平分隔符,ios7,uitabbar,user-experience,Ios7,Uitabbar,User Experience,我想删除uitabar和屏幕其余部分之间的水平分隔线。我正在询问,但已更新iOS7 设置我的UITabBar的背景图像不会缓解问题,设置[UITabBar外观]对象的背景图像也不会缓解问题 这在iOS7中仍然可能吗?如果是,怎么做?答案与删除导航栏或工具栏的分隔符几乎相同 正式来说,这只有通过将阴影图像设置为空图像才能实现。然而,仔细看一下,我们发现: 要显示自定义阴影图像,必须显示自定义背景图像 也可以使用backgroundImage属性设置。如果默认 如果使用背景图像,则将使用默认的阴影图

我想删除uitabar和屏幕其余部分之间的水平分隔线。我正在询问,但已更新iOS7

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


这在iOS7中仍然可能吗?如果是,怎么做?

答案与删除导航栏或工具栏的分隔符几乎相同

正式来说,这只有通过将阴影图像设置为空图像才能实现。然而,仔细看一下,我们发现:

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

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


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

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

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

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

tabBar.shadowImage=[UIImage新建]使用透明图像,因此更可取

在Swift中,

tabBar.shadowImage=UIImage()

可能重复感谢您的解释:)当然,在Swift中是:
tabBar.shadowImage=UIImage()这是否使用私有API?这会成为AppStore拒绝的理由吗?^是的,这是一个私有的、未记录的API,它的使用违反了苹果的条款。