首先可以先宏定义一个值(这个值是你的头部视图的高度的值)
#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中
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;
}
}
}
很不错,转载过来注释了一下,希望有帮助