tableview下拉头部视图背景变大

来源:互联网 发布:工业网络就业前景 编辑:程序博客网 时间:2024/05/16 14:14


首先可以先宏定义一个值(这个值是你的头部视图的高度的值)

#define kBackGroupHeight 136*(SCREENSIZEHIGHT/iPhone4Hight*1.0)   //这个值是头部视图的高度

//你的tableview设置一下

    _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, SCREENSIZEWIDTH, SCREENSIZEHIGHT-50) style:UITableViewStylePlain];
    _tableView.contentInset=UIEdgeInsetsMake(kBackGroupHeight, 0, 0, 0);//这个要设置

//设置你的头部视图的frame
    _headView.frame = CGRectMake(0, -kBackGroupHeight, SCREENSIZEWIDTH, kBackGroupHeight);
//tableview加上这个视图

[_tableView addSubview:_headView];



//接下来在scrollviedidscroll中

- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    
    if (scrollView == _tableView) {
        
        CGFloat yOffset  = scrollView.contentOffset.y;
        CGFloat xOffset = (yOffset + kBackGroupHeight)/2;
        
        if (yOffset < -kBackGroupHeight) {
            CGRect rect = _headView.frame;
            rect.origin.y = yOffset;
            rect.size.height =  -yOffset ;
            rect.origin.x = xOffset;
            rect.size.width = SCREENSIZEWIDTH + fabs(xOffset)*2;
            _headView.frame = rect;
        }
    }
}
很不错,转载过来注释了一下,希望有帮助
0 0