UINavigationBar有一个奇怪的iOS 7事情。如果您尝试将其属性设置为 [UIColor clearColor]
或 alpha = 0 的任何颜色barTintColor
则完全忽略该值。例如,如果您编写:
[[navigationBar setBarTintColor:[UIColor clearColor]];
它根本不尊重"清晰"的部分。与colorWithRed:green:blue:alpha
相同的结果。
但最有趣的是,如果您将translucent
属性设置为 NO
,那么它将采用您指定的颜色 BUT 与 alpha 1。因此,如果我指定colorWithRed:1 green:0 blue:0 alpha:0
它将设置为纯红色,alpha 为 1。
我怎样才能实现它?有没有可能的解决方案使它成为一个 完全不可见的barTintColor
,尽管它需要黑客方法?
如果您想要一个清晰的导航控制器,请尝试将导航控制器的背景图像设置为使用清晰的 PNG 文件(1x1 透明,无颜色)。
我有用
navigationBar.translucent = true
navigationBar.setBackgroundImage(UIImage(), forBarMetrics: .Default)