iOS开发-UINavigationBar透明设置

十度 IOS 2015年12月01日 收藏

导航条最近需要设置成透明的形式,最开始想通过颜色clearColor设置,设置透明度,结果发现UINavigationItem无法显示显示,后来通过setBackgroundImage设置成功,不过会多出一条线白线,需要通过setShadowImage设置背景图片,代码如下:

  1. -(void)viewWillAppear:(BOOL)animated{
  2. [super viewWillAppear:animated];
  3. [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
  4. [self.navigationController.navigationBar setShadowImage:[UIImage new]];
  5. }

如果不想影响其他页面的导航透明度,viewWillDisappear将其设置为nil即可:

  1. -(void)viewWillDisappear:(BOOL)animated{
  2. //原文地址:http://www.cnblogs.com/xiaofeixiang
  3. [super viewWillDisappear:animated];
  4. [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
  5. [self.navigationController.navigationBar setShadowImage:nil];
  6. }