实现代码如下:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat width = self.view.frame.size.width; // 图片宽度
/** 本界面tableViewContentOffset默认为:-64 */
CGFloat yOffset = scrollView.contentOffset.y + NAV_HEIGHT; // 偏移的y值
if (yOffset < 0) {
CGFloat totalOffset = kTableViewHeaderHeight + ABS(yOffset);
CGFloat f = totalOffset / kTableViewHeaderHeight;
self.bgImageView.frame = CGRectMake(- (width * f - width) / 2, yOffset, width * f, totalOffset); // 拉伸后的图片的frame应该是同比例缩放。
// 头像位置调整:50为头像初始y值
self.iconImageView.y = 50 + yOffset;
}
// 头像缩放:60为头衔初始大小60*60
CGFloat scale = 1 - (yOffset / 60);
scale = (scale >= 1) ? scale : 1;
self.iconImageView.transform = CGAffineTransformMakeScale(scale, scale);
}
网友评论