UITableView下拉头部背景放大与头像放大

实现代码如下:

- (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);
    
}

你可能感兴趣的:(UITableView下拉头部背景放大与头像放大)