关于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方法?
答案 0 :(得分:5)
如果您想要一个清晰的导航控制器,请尝试将导航控制器的背景图像设置为使用清晰的PNG文件(1x1透明,无颜色)。
答案 1 :(得分:2)
这对我有用
navigationBar.translucent = true
navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)