视图层级:由于这是在原有的视图层级的基础上完成的放大功能,所以记录了一下计算方法,
tableview 和 放大的背景图片都是self.view的子视图,下拉的时候要方法,上滑的时候要同步上移图片
核心代码
[self.view addSubview:self.heardBgView];[self.view sendSubviewToBack:self.heardBgView];self.heardBgView.frame = CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_WIDTH * 223 /375);
- (void)scrollViewDidScroll:(UIScrollView *)scrollViewCGFloat offsetY = scrollView.contentOffset.y;
//-35 是初始偏移量if (offsetY <= (-35)) {CGFloat moreHeight = - MIN(self.contentInsetTop, offsetY) - self.contentInsetTop;moreHeight = MAX(0, moreHeight);self.heardBgView.frame = CGRectMake(0, 0 , self.heardBgView.frame.size.width, SCREEN_WIDTH * 223 / 375 + moreHeight);} else {/*初始偏移量- 35 , 当前偏移量 offsety ,变化的偏移量 (offsety - (- 35))原始位置要做相反的变化量即 - (offsety - (-35));*/self.heardBgView.frame = CGRectMake(0, 0 - (offsetY - (-35)), self.heardBgView.frame.size.width, SCREEN_WIDTH * 223 / 375);}}