UITableView表头在下拉的时候表头里的内容放大

以下只是简单的实现一下功能,介绍一下原理,希望可以帮到大家:

- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
    static NSString * identifier = @"headView";
    UITableViewHeaderFooterView * headView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:identifier];
    if (nil == headView) {
        headView = [[UITableViewHeaderFooterView alloc] initWithReuseIdentifier:identifier];
        _headView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.view.frame), 100)];
        _headView.contentMode = UIViewContentModeScaleAspectFill;
        _headView.clipsToBounds = YES;
        _headView.image = [UIImage imageNamed:@"4"];
        [headView addSubview:_headView];
    }
    return headView;
}

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    float offsetY = scrollView.contentOffset.y;
    CGRect tempFrame = _headView.frame;
    if (offsetY < 0) {
//        往下拉
        int offsetX = -scrollView.contentOffset.y/4;
        tempFrame.origin.x = -offsetX;
        tempFrame.origin.y = offsetY;
        tempFrame.size.width = CGRectGetWidth(_tabView.frame) + 2*offsetX;
        tempFrame.size.height = 100 - offsetY;
    }else{
        tempFrame.origin.x = 0;
        tempFrame.origin.y = 0;
        tempFrame.size.width = CGRectGetWidth(_tabView.frame);
        tempFrame.size.height = 100;
    }
    _headView.frame = tempFrame;
}
其中_headView是一个UIImageView的成员变量,其主要操作在 - (void)scrollViewDidScroll:(UIScrollView *)scrollView方法里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值