美文网首页
设置导航栏透明

设置导航栏透明

作者: 01badM | 来源:发表于2017-08-02 19:41 被阅读0次

    iOS 设置导航透明的两种方法

    • (void)viewWillAppear:(BOOL)animated{
      [super viewWillAppear:animated];
      [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
      //去掉导航栏底部的黑线
      self.navigationController.navigationBar.shadowImage = [UIImage new];
      }
      如果仅设置当前页导航透明,需加入下面方法
    • (void)viewWillDisappear:(BOOL)animated{
      [super viewWillDisappear:animated];
      [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
      [self.navigationController.navigationBar setShadowImage:nil];
      }
      需要注意的是:如果返回上一页的操作有动画,则在上一页出现的时候,导航栏的颜色会逐渐变化

    方法二

    • (void)viewWillAppear:(BOOL)animated{
      [super viewWillAppear:animated];
      [[self.navigationController.navigationBar subviews] objectAtIndex:0].alpha = 0;
      }
      仅设置当前页面
    • (void)viewWillDisappear:(BOOL)animated{
      [super viewWillDisappear:animated];
      [[self.navigationController.navigationBar subviews] objectAtIndex:0].alpha = 1;
      }

    相关文章

      网友评论

          本文标题:设置导航栏透明

          本文链接:https://www.haomeiwen.com/subject/mqvylxtx.html