swift - 无法在 tvOS 中获得透明的标签栏

标签 swift uitabbar tvos

我很难在 tvOS 上获得具有完全透明背景的 UITabBar:我总是得到白色背景。 我尝试了以下方法(将背景颜色设置为清晰,将背景图像设置为 UIImage)但没有任何效果。

var appearanceTabBar = UITabBar.appearance()
    appearanceTabBar.barTintColor = UIColor.clear
    appearanceTabBar.shadowImage = UIImage()
    appearanceTabBar.backgroundImage = UIImage()

结果如下:

enter image description here

有人知道如何让背景完全透明吗? 将颜色设置为相同的紫色不是一个好主意,因为图片可能在背景上。

谢谢你:)

迈克尔

最佳答案

我遇到了问题,您必须等待标签栏用户界面“准备就绪”。我解决了它继承自 UITabBarController 并覆盖 viewWillAppear

override func viewWillAppear(_ animated: Bool)
{
    super.viewWillAppear(animated)

    self.tabBar.backgroundImage = UIImage()
}

我想您不必从 UITabBarController 进行扩展,您可能只需覆盖主视图 Controller 上的 viewWillAppear 即可获得相同的结果。

关于swift - 无法在 tvOS 中获得透明的标签栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40471999/

相关文章:

iphone - UIToolBar 位于 UITabBar 之上?

ios 11 UITabBar UITabBarItem 定位问题

ios - 为什么我的图像没有缓存在 AlamofireImage 中?

tvos - 适用于 tvOS 的 native Swift/Obj-C 应用程序 - 但如何在 TVML 中显示网页?

Swift 协议(protocol)定义返回 self 的类方法

Xcode 6.2 beta 2 WKInterfaceController watchkit 错误

通过实例方法设置时的 Swift Retain Cycle 问题

swift - 如何使用 SWRevealViewController 从 Swift 中的 UITabBarItem 打开侧边菜单

tvos - 在 TVML (tvOS) 中创建分层图像

ios - 为其轮廓创建 Box 后 UITextView 的大小和位置错误