新闻详情页顶部的下拉放大与上拉的层叠效果

条件一:  [self.view insertSubview:_imgView belowSubview:_tableView];

条件二:

   static NSString *cellId = @"cell1";

                cell = [tableView dequeueReusableCellWithIdentifier:cellId];

                if (!cell)

                {

                    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];

                    cell.selectionStyle = UITableViewCellSelectionStyleNone;

                   //不能重用,且底部要保持透明

                    cell.backgroundColor = [UIColor clearColor];

                    cell.contentView.backgroundColor = [UIColor clearColor];

                }

条件三  :- (void)scrollViewDidScroll:(UIScrollView *)scrollview {

    

    CGFloat offsetY = scrollview.contentOffset.y;

    

    if (offsetY > 0) {  //往上滑动改变图片的 y 值

        

        _imgView.top = -offsetY*0.5;

     

        

    } else {

        //向下滑动时放大图片且 y 值保持不变

        

        //原始宽度/原始高度 = 现在宽度/现在高度

        

        //现在的高度

        //ABS()取绝对值

        CGFloat height = SCREEN_WIDTH + ABS(offsetY);

        //现在宽度

        CGFloat width = SCREEN_WIDTH/(CGFloat)SCREEN_WIDTH * height;

        

        topImgFrm = _imgView.frame;

        

        topImgFrm = CGRectMake(-(width-SCREEN_WIDTH)/2.0, 0, width, height);

        

        _imgView.frame = topImgFrm;

        

    }

    

    

}

posted @ 2015-11-10 17:11  一二三开花  阅读(321)  评论(0编辑  收藏  举报