我无法成功将UINavigationBar的barTintColor设置为clearColor

时间:2013-11-02 00:11:52

标签: ios uinavigationbar bartintcolor

关于UINavigationBar有一个奇怪的iOS 7事情。如果您尝试将其barTintColor属性设置为[UIColor clearColor]或任何颜色为alpha = 0,则会完全忽略该值。例如,如果你写:

[[navigationBar setBarTintColor:[UIColor clearColor]];

它根本不尊重“清晰”部分。与colorWithRed:green:blue:alpha相同的结果。

但最有趣的部分是,如果你将translucent属性设置为NO,那么它将采用你指定的颜色BUT与alpha 1.所以如果我指定colorWithRed:1 green:0 blue:0 alpha:0它将被设置为纯红色,alpha为1。

我怎样才能实现它?是否有任何可能的解决方案使它成为一个完全不可见的barTintColor,虽然它需要hacky方法?

2 个答案:

答案 0 :(得分:5)

如果您想要一个清晰的导航控制器,请尝试将导航控制器的背景图像设置为使用清晰的PNG文件(1x1透明,无颜色)。

答案 1 :(得分:2)

这对我有用

navigationBar.translucent = true
navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)