水平分隔符NavBar IOS 7

时间:2013-10-15 13:16:40

标签: uiviewcontroller uinavigationcontroller ios7

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

我在AppDelegate中试过这个:

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

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

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

enter image description here

2 个答案:

答案 0 :(得分:13)

您还必须为导航栏设置背景图像以满足您的要求

[[UINavigationBar appearance] setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];

答案 1 :(得分: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];

这是Ref:How to remove UINavigatonItem's border line