Swift 中的导航栏没有色调颜色

No tint color for a navigationBar in Swift

我在 UINavigationController 上有一个扩展,它设置 navigationBar.tintColor 并使其透明:

self.navigationBar.tintColor = UIColor.whiteColor()
self.navigationBar.shadowImage = UIImage()
self.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)

但我想要的是有一个透明的导航栏,可见的项目完全没有色调。我添加了一个具有彩色背景图像的右侧导航栏项目:

let rightButton = UIBarButtonItem(image: UIImage(named: "avatar")!,
                                  style: UIBarButtonItemStyle.Plain, 
                                  target: self,     
                                  action: #selector(self.rightNavBarItemAction))

navigationItem.rightBarButtonItem = rightButton

我没有使用图像作为按钮的背景,而是使用了白色占位符。使用 UIColor.clearColor() 使按钮透明。

你可以试试这个:

self.navigationController?.navigationBar.barTintColor = UIColor.green

希望对你有用。谢谢