微信动态页面的图片下拉变大效果

来源:互联网 发布:知乎 真武七截阵 编辑:程序博客网 时间:2024/06/11 17:49


我在网上看了其他一些实现效果,不怎么完美,所以自己写了一个,第一次写,不清楚的话多包涵


先说说思想:self.imageView就是效果图中的图片,self.headerView是tableView中的头视图(

_tableView.tableHeaderView =_headerView;

)当tableView下滑的时候imageView加载在self.view上,当上滑的时候imageView加载在self.headerView上,然后用tableView中的代理方法(tableView继承与scrollView,所以能用下面的方法)利用scrollView的偏移量(scrollView.contentOffset.y)来计算imageView的fram



-(void)scrollViewDidScroll:(UIScrollView *)scrollView{

    //获取偏移量

    NSUInteger index =0;

    CGPoint offset = scrollView.contentOffset;

    //判断tableView是往上滑还是往下滑,offset.y<0是往下滑

    if (offset.y <0) {

        [self.imageViewremoveFromSuperview];

        self.imageView.frame =CGRectMake(0,64, 375, 300);

        [self.viewaddSubview:self.imageView];

        CGRect rect =self.imageView.frame;

        rect.size.height =300 - offset.y;

        rect.origin.x = offset.y /2;

        rect.size.width = 375 - offset.y;

        self.imageView.frame = rect;

    }elseif (offset.y >0) {

    

        [self.imageViewremoveFromSuperview];

        self.imageView.frame =CGRectMake(0,0, 375, 300);

        [self.headerViewaddSubview:self.tableViewHeader];

    }

    

}


3 0