1.第一种情况可以再tableView上加一个头视图,添加图片(不需要管理坐标)
// 第一种情况:添加一个视图也可以是scroll
// UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 200)];
// imageView.image = [UIImage imageNamed:@"3.jpg"];
// 给tableView添加头视图,一般在头视图上放轮播图等
// self.tableView.tableHeaderView = imageView;
// [imageView release];
2.用addSubView的方式添加,但是要将tableView的坐标原点向下移动contentInset(移动图片高度),然后将图片的纵坐标变成-图片高度
// 第二种方式
// 变成-200
self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, -200, self.tableView.frame.size.width, 200)];
self.imageView.image = [UIImage imageNamed:@"3.jpg"];
// 将tableView向下移动, 坐标原点向下平移200
self.tableView.contentInset = UIEdgeInsetsMake(200, 0, 0, 0);
[self.tableView addSubview:self.imageView];
[_imageView release];
3.tableView的delegate协议中,继承scrollerView的协议,所以可以用scroll的协议
实现向下放大图片,改变图片的高度,改变偏移量
这个协议是scroller的,一触摸就会触发的方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
// NSLog(@"sdsd");
CGFloat yOffest = self.tableView.contentOffset.y;
if (self.tableView.contentOffset.y < 0) {
// 向下放大图片(通过协议方法,设置图片高度)------>改变偏移量
self.imageView.frame = CGRectMake(0, yOffest, self.tableView.frame.size.width, -yOffest);
}
}