0

可能重复:
iPhone SDK - 使 UINavigationBar 透明

在我的应用程序中,我使用的是通过 Push Segues 包装所有其他视图的 NavigationController。所以我想知道如何将控制器设置为所有视图都有清晰的背景。

我试过

[self.navigationController.navigationBar setBackgroundColor:[UIColor clearColor]];

但我的视图仍然加载相同的库存颜色条。

任何可以给我一些帮助的人都非常感谢。

4

3 回答 3

2

就像codingNinja说的,你应该继承UINavigationBar和覆盖- (void)drawRect:(CGRect)rect,在这个方法中,你可以使用

[[UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.0] set];
UIRectFill(rect);

将背景颜色设置为清晰。

然后您可以将 YourNavigationBar 用作导航栏。

于 2013-01-17T02:12:09.920 回答
0

您没有设置栏的背景颜色,而是设置 tintColor 但我不知道您是否能够说清楚。

于 2013-01-17T01:08:10.093 回答
0

如果您指的是 viewControllers 附带的导航栏,它是 navigationController 的 viewControllers 数组的一部分,那么您不能简单地设置它。如果你想拥有清晰的导航栏,最好的方法是只使用没有导航控制器的 viewControllers,并用模态 segues 呈现 viewControllers。您将需要自己处理导航,例如从一个视图控制器转到前一个视图控制器,关闭视图控制器等。

您可以子类化导航栏并覆盖该drawrect方法。我个人会[UIColor clearColor]尽可能避免使用混合图层并提高性能。

于 2013-01-17T01:08:53.327 回答