美文网首页
【转】 iOS 设置导航透明的两种方法

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

作者: 西江月 | 来源:发表于2017-03-22 17:52 被阅读27次

    方法一

    在当前页面加入下面方法

    - (void)viewWillAppear:(BOOL)animated{

    [superviewWillAppear:animated];

    [self.navigationController.navigationBarsetBackgroundImage:[UIImagenew]forBarMetrics:UIBarMetricsDefault];

    //去掉导航栏底部的黑线

    self.navigationController.navigationBar.shadowImage= [UIImagenew];

    }

    如果仅设置当前页导航透明,需加入下面方法

    - (void)viewWillDisappear:(BOOL)animated{

    [superviewWillDisappear:animated];

    [self.navigationController.navigationBarsetBackgroundImage:nilforBarMetrics:UIBarMetricsDefault];

    [self.navigationController.navigationBarsetShadowImage:nil];

    }

    需要注意的是:如果返回上一页的操作有动画,则在上一页出现的时候,导航栏的颜色会逐渐变化

    方法二

    - (void)viewWillAppear:(BOOL)animated{

    [superviewWillAppear:animated];

    [[self.navigationController.navigationBarsubviews]objectAtIndex:0].alpha=0;

    }

    仅设置当前页面

    - (void)viewWillDisappear:(BOOL)animated{

    [superviewWillDisappear:animated];

    [[self.navigationController.navigationBarsubviews]objectAtIndex:0].alpha=1;

    }

    个人感觉:方法二比方法一更为简单,而且效果也好

    原文:http://blog.csdn.net/j_r_k/article/details/52806702

    相关文章

      网友评论

          本文标题:【转】 iOS 设置导航透明的两种方法

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