美文网首页
iOS-导航栏颜色透明度渐变

iOS-导航栏颜色透明度渐变

作者: carpond | 来源:发表于2016-10-17 15:29 被阅读340次

    最近公司项目,需要在首页实现一个效果,随着屏幕的滚动,导航栏背景色从没有到完全显示也就是透明度从0-1的过程.效果如下

    图1.png
    实现方法
    1.随着屏幕的滚动,改变导航栏的alpha,但是这样有一个不好的现象,就是导航栏leftItem,rightItem等也会跟着改变,这个效果不是我需要的,我需要的是只改变背景色的alpha
    2.我在导航栏上添加了一个view,让view随着屏幕的滚动实现效果,这个时候,添加的view最好在最底层,这样才不会让你添加的view遮盖住其他控件.部分代码如下
    图2.png
    在viewDidLoad中添加如下代码
    [self.navigationController.navigationBar insertSubview:self.aplhaView atIndex:0];
    但是这样会有一个问题,在这个页面pusg或者modal后的页面中,刚才添加的view可能会布局在导航栏的最顶部或者其他的位置,这是因为,在push或者modal的时候,导航栏会重新调整布局,这个时候,我们就要改变刚刚ViewDidLoad中的代码
    [[self.navigationController.navigationBar.subviews firstObject] insertSubview:self.aplhaView atIndex:0];
    

    Demo
    结束语:
    文章可能会存在错误,欢迎指正!

    相关文章

      网友评论

          本文标题:iOS-导航栏颜色透明度渐变

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