这个效果就是下面有一个tableView,tableView的子视图是一张图片(imageView),下拉的时候图片到一定的偏移量就会放大(改变frame)。
创建视图的的代码在这里就不写了相信大家都会。。。
self.tableView.contentInset = UIEdgeInsetsMake(240, 0, 0, 0);
[self.tableView addSubview:self.imageView];
以上代码写在创建完视图之后,在viewDidLode中写- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
self.imageView.frame = CGRectMake(0, -240, self.tableView.frame.size.width, 240);
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
CGFloat yOffset = scrollView.contentOffset.y;
if (yOffset < -240) {
CGRect f = self.imageView.frame;
f.origin.y = yOffset;
f.size.height = -yOffset;
self.imageView.frame = f;
}
}
这个效果的原理是根据tableView是继承scrollView的,所以它具备scrollView的各种属性,其中scrollView的偏移量是改变是最常用的,所以这个也是根据tableView的偏移量的改变来控制图片的frame。