UITableViewHeaderView下拉时图片按照比例放大
- 默认情况下,图片正常显示(没有被拉大)
UIView *testHeadView = [[UIView alloc]initWithFrame:CGRectMake( 0, 0, kScreenW, (kScreenH - 64) * 0.2)];
self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake( 0, 0, kScreenW, (kScreenH - 64) * 0.2)];
self.imageView.image = [UIImage imageNamed:@"desktop"];
// self.imageView.hidden = YES;
[testHeadView addSubview:self.imageView];
self.tableView = [[UITableView alloc] initWithFrame:CGRectMake( 0, 0, kScreenW, kScreenH )];
self.tableView.delegate = self;
self.tableView.dataSource = self;
self.tableView.tableHeaderView = testHeadView;
[self.view addSubview:_tableView];
- 当往下拉动的时候,图片等比例放大
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
//同比例整体放大
//滑动距离
CGFloat yOffset = scrollView.contentOffset.y;
// 偏移的y值
if(yOffset < 0)
{
CGFloat totalOffset = (kScreenH - 64) * 0.2 + ABS(yOffset);
CGFloat f = totalOffset / ((kScreenH - 64) * 0.2);
//拉伸后的图片的frame应该是同比例缩放。
_imageView.frame = CGRectMake(- (kScreenW * f - kScreenW) / 2, yOffset, kScreenW * f, totalOffset);
}
}
网友评论