5

我已经包括了对导航栏(navigationController)的需求,该导航栏(navigationController)与栏viewController的背景色调相同......现在我遇到了一个问题......在导航栏和视图之间我有一条将它们分开的水平线,就像你从图片中可以看出..你能告诉我如何删除这条线水平黑色并使其更加一致吗?

我在 AppDelegate 中试过这个:

[[UINavigationBar appearance] setShadowImage: [[UIImage alloc] init]];

     UINavigationController * nav = (UINavigationController *) self.window.rootViewController; nav.navigationBar.translucent = NO;

但我没有得到结果。你能帮我吗?感谢所有的罗里。

在此处输入图像描述

4

2 回答 2

13

您还必须为导航栏设置背景图片才能满足您的要求

[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
于 2013-10-15T13:42:31.573 回答
3

您可以使用以下代码将其隐藏:

UIView *overlayView = [[UIView alloc] initWithFrame:CGRectMake(0, 43, 320, 1)];
[overlayView setBackgroundColor:[UIColor whiteColor]];
[navBar addSubview:overlayView]; // navBar is your UINavigationBar instance
[overlayView release];

这是参考:如何删除 UINavigatonItem 的边界线

于 2013-10-15T13:34:03.860 回答