在我的应用程序中,我正在使用一个NavigationController,它通过Push Segues包装所有其他视图。所以我想知道如何设置控制器以获得所有视图的清晰背景。
我试过
[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];
但我的视图仍然装有相同的库存颜色条。
非常感谢那些可以给我一些帮助的人。
答案 0 :(得分:2)
就像codingNinja所说,你shuold继承UINavigationBar
并覆盖- (void)drawRect:(CGRect)rect
,在这种方法中,你可以使用
[[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.0] set];
UIRectFill(rect);
将背景颜色设置为清晰。
然后您可以将YourNavigationBar用作navigationBar。
答案 1 :(得分:0)
您没有设置条形图的背景颜色,而是设置tintColor,但我不知道您是否能够清除它。
答案 2 :(得分:0)
如果您指的是viewControllers附带的导航栏是navigationController的viewControllers数组的一部分,那么您不能简单地设置它。如果你想拥有清晰的导航栏,最好的方法就是只使用没有导航控制器的viewControllers,并向viewControllers提供模态segue。您需要自己处理导航,例如从一个视图控制器转到前一个,取消viewController等。
您可以继承导航栏并覆盖drawrect
方法。我个人会尽量避免使用[UIColor clearColor]
来避免混合图层并提高性能。