如何在 iOS 13 中使 tabBar 清晰?
Posted
技术标签:
【中文标题】如何在 iOS 13 中使 tabBar 清晰?【英文标题】:How to make tabBar clear in iOS 13? 【发布时间】:2019-09-30 19:40:15 【问题描述】:我用这段代码让tabBar清晰:
self.tabBarController?.tabBar.backgroundImage = UIImage()
self.tabBarController?.tabBar.shadowImage = UIImage()
但在 ios 13 中,我的代码不起作用。我尝试使用此代码:
if #available(iOS 13, *)
let appearance = self.tabBarController?.tabBar.standardAppearance.copy()
appearance!.backgroundImage = UIImage()
appearance!.shadowImage = UIImage()
appearance!.shadowColor = .clear
self.tabBarController?.tabBar.standardAppearance = appearance!
else
self.tabBarController?.tabBar.backgroundImage = UIImage()
self.tabBarController?.tabBar.shadowImage = UIImage()
但在这种情况下,我的 tabBar 有白色,不清楚。
【问题讨论】:
向下滚动以讨论 iOS 13 中的新外观 API:***.com/questions/56839374/… @Koen 如果我使用***.com/a/58088270,我会得到相同的结果。白色标签栏。我将.white
更改为.clear
你试过没有backgroundImage
吗?
@Koen 是的。我尝试了不同的变体,但它不起作用。为什么?
抱歉,不知道。但也许这会有所帮助:sarunw.com/posts/uinavigationbar-changes-in-ios13。这是关于 UINavgationBar
的 API 更改,但也许其中有一些提示可以帮助您。
【参考方案1】:
对于透明的 tabBar 使用 - configureWithTransparentBackground()
默认 tabBar 使用 - configureWithDefaultBackground()
代码:
if #available(iOS 13, *)
let appearance = self.tabBarController?.tabBar.standardAppearance.copy()
appearance!.configureWithTransparentBackground()
tabBarController?.tabBar.standardAppearance = appearance!
else
tabBarController?.tabBar.shadowImage = UIImage()
tabBarController?.tabBar.backgroundImage = UIImage()
【讨论】:
以上是关于如何在 iOS 13 中使 tabBar 清晰?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 TabBar 中删除和重置顶行 - 适用于 iOS 13+
如何在 Firefox 和 Internet Explorer 中使 SVG 更清晰