美文网首页
iOS tableView下拉放大表头

iOS tableView下拉放大表头

作者: 唐人街的乞丐 | 来源:发表于2019-11-28 10:13 被阅读0次

    效果图

    效果图

    参考代码

    设置tableview表头

        self.originalFrame = CGRectMake(0, 0, self.view.bounds.size.width, headerViewHeight);
        
        UIView * headerView = [[UIView alloc]initWithFrame: self.originalFrame];
        headerView.backgroundColor = [UIColor redColor];
        self.tableview.tableHeaderView= headerView;
        //  需要在创建一个imageView 放图片,g如果直接用imageView 作为headerView,tablview 容易错位变形
        UIImageView * imageView = [[UIImageView alloc]initWithFrame: self.originalFrame];
        imageView.backgroundColor = [UIColor blueColor];
        imageView.image = [UIImage imageNamed:@"headerView"];
        self.imageView  = imageView;
        [self.view addSubview:imageView];
    

    在scrollViewDidScroll:方法中处理滑动操作

    -(void)scrollViewDidScroll:(UIScrollView *)scrollView{
        CGFloat yOffset = scrollView.contentOffset.y;
        if (yOffset > 0) {
            //  向上滑动
              CGRect frame = self.originalFrame ;
             frame.origin.y = frame.origin.y - yOffset;
             self.imageView.frame  = frame;
        }else{
            // 向下滑动,会放大
            CGRect frame =  self.originalFrame ;
            frame.size.height = frame.size.height - yOffset;
            frame.size.width = frame.size.height * (self.originalFrame.size.width / self.originalFrame.size.height);
            frame.origin.x = frame.origin.x - (frame.size.width - self.originalFrame.size.width) * 0.5;
            self.imageView.frame  = frame;
        }
    }
    

    Github代码地址

    相关文章

      网友评论

          本文标题:iOS tableView下拉放大表头

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