隐藏导航栏底部的线条

2018/12/11 posted in  iOS

有时候遇到一些特殊的要求,需要隐藏导航栏底部的线条。
两行代码就可以做到。

  • 方法一:
    设置导航栏的背景图(setBackgroundImage方法)
    设置导航栏的shadowImage (setShadowImage方法)
UINavigationBar *navigationBar = self.navigationController.navigationBar;    

//设置透明的背景图,便于识别底部线条有没有被隐藏

[navigationBar setBackgroundImage:[[UIImage alloc] init]
                       forBarPosition:UIBarPositionAny
                           barMetrics:UIBarMetricsDefault]; 

//此处使底部线条失效

[navigationBar setShadowImage:[UIImage new]];
  • 方法二:
self.navigationController.navigationBar.clipsToBounds = YES; 

导航栏全局属性设置

//全局设置导航栏主题

- (void)setNavigationControllerAppearance {
    [UINavigationBar appearance].barStyle  = UIBarStyleBlack;
    [[UINavigationBar appearance] setBarTintColor:[UIColor colorWithWhite:0.1 alpha:0.5]];
    [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
}