我在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()
可使按钮透明。