【发布时间】:2014-04-17 23:36:17
【问题描述】:
我想删除 UITabBar 和屏幕其余部分之间的水平分隔线。我在问the same question as this guy,但已针对 iOS7 进行了更新。
设置我的 UITabBar 的背景图片并不能缓解问题,设置[UITabBar appearance] 对象的背景图片也不能解决问题。
这在 iOS7 中仍然可能吗?如果有,怎么做?
【问题讨论】:
标签: ios7 uitabbar user-experience
我想删除 UITabBar 和屏幕其余部分之间的水平分隔线。我在问the same question as this guy,但已针对 iOS7 进行了更新。
设置我的 UITabBar 的背景图片并不能缓解问题,设置[UITabBar appearance] 对象的背景图片也不能解决问题。
这在 iOS7 中仍然可能吗?如果有,怎么做?
【问题讨论】:
标签: ios7 uitabbar user-experience
您也可以使用以下代码隐藏阴影线:
[self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"];
斯威夫特
self.tabBar.setValue(true, forKey: "_hidesShadow")
【讨论】:
这个问题的答案与删除导航栏或工具栏的分隔符几乎相同。
官方来说,这只能通过将 shadowImage 设置为空图像来实现。然而,仔细观察documentation,我们看到:
要显示自定义阴影图像,必须使用自定义背景图像 也可以使用 backgroundImage 属性进行设置。如果默认 使用背景图像,则将使用默认的阴影图像 无论此属性的价值如何。
通过使用自定义背景图片,您将失去模糊的背景半透明效果。
分隔符是一个 UIImageView,它是标签栏的子视图。您可以在标签栏的层次结构中找到它并将其设置为隐藏。
【讨论】:
此方案使用透明图像,因此更可取。
斯威夫特
tabBar.shadowImage = UIImage()
Objective-C
tabBar.shadowImage = UIImage.new;
【讨论】:
tabBar.shadowImage = UIImage();