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

Dav*_*man 5 uinavigationbar ios bartintcolor

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

[[navigationBar setBarTintColor:[UIColor clearColor]];
Run Code Online (Sandbox Code Playgroud)

它根本不尊重"清晰"部分.同样的结果colorWithRed:green:blue:alpha.

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

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

Bri*_*len 5

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

  • 大!有用!一个细节是你甚至不需要创建这样的图像.相反,通过相关的方法将`backgroundImage`设置为`[UIImage new]`,它将起作用. (2认同)