如何在UINavBar下面隐藏该行?

时间:2017-05-24 21:32:32

标签: ios objective-c uinavigationcontroller uinavigationbar

这是我在viewWillAppear中使用的代码:

UINavigationBar *navbar = [[UINavigationBar alloc]initWithFrame:CGRectMake(0, 0, 1420, 50)];
//do something like background color, title, etc you self
[[UINavigationBar appearance] setBarTintColor:[UIColor underPageBackgroundColor]];
self.navigationController.navigationBar.translucent = NO;
[self.view addSubview:navbar];

UINavigationItem *item = [[UINavigationItem alloc]
                          init];
navbar.items= @[item];
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
                               initWithTitle:@"Back"
                               style:UIBarButtonItemStylePlain
                               target:self
                               action:@selector(backBtnClicked:)];
item.leftBarButtonItem = backButton;

我想删除shadowImage。导航栏下方的行,但仅在一个视图控制器中。我该怎么做?

enter image description here

我已经尝试了这个但它改变了所有的视图控制器,就像看不见的那样:

[[UINavigationBar appearance] setBackgroundImage: [UIImage new]  
                               forBarMetrics: UIBarMetricsDefault];

[UINavigationBar appearance].shadowImage = [UIImage new];

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

我的导航栏下出现了空格问题。这是你的意思吗?我通过以下方式在xCode的Interface Builder中解决了它:

  1. 在故事板中选择视图控制器
  2. 转到右侧工具栏的属性部分
  3. 选中“延伸边缘”部分中的“不透明条形图”框。
  4. 我还在viewDidLoad方法中添加了以下代码:

    self.automaticallyAdjustsScrollViewInsets = NO;