如何使 UITabbar 透明以便超级视图的背景图像可见?

Posted

技术标签:

【中文标题】如何使 UITabbar 透明以便超级视图的背景图像可见?【英文标题】:How to make UITabbar transparent so that background image of superview is visible? 【发布时间】:2018-05-15 06:20:33 【问题描述】:

我用过 UITabbar。我已经将它的背景颜色设置为清除颜色。即使出现黑色背景。我调试了视图,发现 UITabbar 已经将 UIVisualEffectSubViewUIVisualEffectBackdropView 实现为黑色。使用 swift 4 使其透明的更好方法可能是什么。调试图像附在下面。

【问题讨论】:

你试过tintColor 【参考方案1】:

试试这个:

yourTabBar.backgroundColor = UIColor.clear // clears the background
yourTabBar.backgroundImage = UIImage()
yourTabBar.shadowImage = UIImage()  // removes the border

iOS 15 更新

彩色背景

if #available(ios 15.0, *) 
    let appearance = UITabBarAppearance()
    appearance.configureWithOpaqueBackground()
    appearance.backgroundColor = .YourColor
    tabBar.standardAppearance = appearance
    tabBar.scrollEdgeAppearance = appearance

为了透明的外观

if #available(iOS 15.0, *) 
    let appearance = UITabBarAppearance()
    appearance.configureWithTransparentBackground()
    tabBar.standardAppearance = appearance
    tabBar.scrollEdgeAppearance = appearance
 

【讨论】:

【参考方案2】:

您需要在 tabBar 上使用 barTintColor

tabBar.backgroundColor = UIColor.clear
tabBar.barTintColor = UIColor.clear
tabBar.backgroundImage = UIImage()

【讨论】:

以上是关于如何使 UITabbar 透明以便超级视图的背景图像可见?的主要内容,如果未能解决你的问题,请参考以下文章

UITabBar 去除黑色背景

SwiftUI:如何使列表视图透明?如何更改列表视图背景颜色?

如何判断 UITabBar 是不是从自定义视图打开?

如何使 UITableView 成为透明的?

如何使布局和视图的背景透明?

自定义透明UITabBar