我已经包含了一个navbar(navigationController)的需要,它与bar viewController的背景颜色相同......现在我有一个问题......在导航栏和视图之间我有一条水平线将它们分开,你可以从图片中看到..你能告诉我如何删除这条水平黑色并使其更加一致?
我在AppDelegate中试过这个:
[[UINavigationBar appearance] setShadowImage: [[UIImage alloc] init]];
UINavigationController * nav = (UINavigationController *) self.window.rootViewController; nav.navigationBar.translucent = NO;
但我没有得到结果。你能帮我吗?感谢Rory的所有人。
答案 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];