ios控制表格动态调整显示的高度

本文介绍了一个使用 UIScrollViewDelegate 方法实现的 UIScrollView 自动显示与隐藏功能。当 UIScrollView 的偏移量达到特定阈值时, 通过 UIView 动画改变 frame 来实现背景视图和表格视图的显示与隐藏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#pragma mark - UIScrollViewDelegate
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
  if (scrollView == _tableView) {
    DDLogVerbose(@"%f", scrollView.contentOffset.y);
    if (_tableView.contentOffset.y >= _backgroundScrollView.height / 3.0 * 1.0) {
      [UIView animateWithDuration:0.5 animations:^{
        _tableView.frame = CGRectMake(0, self.originY + 40, kScreenWidth, kScreenHeight - 64);
        _backgroundScrollView.frame = CGRectMake(0, self.originY - _backgroundScrollView.height + 40,
                                                 kScreenWidth, _backgroundScrollView.height);
      }];
    } else if (_tableView.contentOffset.y <= -44 && _backgroundScrollView.originY < self.originY) {
      [UIView animateWithDuration:0.5 animations:^{
        _backgroundScrollView.frame = CGRectMake(0, self.originY,
                                                 kScreenWidth,
                                                 _backgroundScrollView.height);
                _tableView.frame = CGRectMake(0, _backgroundScrollView.bottomY,
                                              kScreenWidth,
                                              kScreenHeight - 64 - _backgroundScrollView.height);
      }];
    }
  }
}


效果如下,超过一定范围会自动显示与隐藏


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值