美文网首页iOS常用
iOS 随着滑动偏移导航条进行逐渐透明

iOS 随着滑动偏移导航条进行逐渐透明

作者: kYoungAa | 来源:发表于2020-08-18 11:23 被阅读0次

    在项目中可能会有一些产品效果就类似 根据我们用户手势滑动的范围来逐渐显示导航条的透明度或者导航条上的按钮变化以及另类的一些操作,下面仅根据透明度来举例操作方法 一下代码了进行参考.

    //初始的时候设置透明度  也有可能是在根据滑动时才做判断
     -(void)viewWillAppear:(BOOL)animated {
        [super viewWillAppear:animated];
    // 设置导航栏为透明,并根据当前tableView的偏移量设置对应的 alpha
           self.navigationController.navigationBar.translucent = YES;
    //表格的滑动位置
     [self NavigationBarWithOffsetY:self.tableView.contentOffset.y];
    }
    
     //监听scrollView滑动
    -(void)scrollViewDidScroll:(UIScrollView *)scrollView {
        if (scrollView == self.tableView) {
     [self NavigationBarWithOffsetY:scrollView.contentOffset.y];
        }
    }
    
     //实现方法// 界面滑动时导航栏随偏移量 实时变化
    -(void) NavigationBarWithOffsetY:(CGFloat)offsetY {
        UIImageView *backView = self.navigationController.navigationBar.subviews[0];
        if (offsetY <= 0) {
            backView.alpha = 0;
    //做一些想要的操作
        } else if (offsetY > 0 && offsetY < NAVBAR_HEIGHT) {
            backView.alpha = offsetY / NAVBAR_HEIGHT;
    //做一些想要的操作  比如背景颜色
            self.navigationController.navigationBar.barTintColor=[UIColor redColor];
        } else if (offsetY >= NAVBAR_HEIGHT ) {
            backView.alpha = 1;
    //做一些想要的操作 比如背景颜色 .更改文字标题  导航按钮样子  搜索条
            self.navigationController.navigationBar.barTintColor=[UIColor redColor]    }
    }
    

    相关文章

      网友评论

        本文标题:iOS 随着滑动偏移导航条进行逐渐透明

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