iOS动态改变UITableView的tableViewHeader的高度

本文介绍了一种在iOS开发中动态改变UITableView头部视图高度的方法,并提供了实现这一功能的具体代码示例,包括如何更新视图及添加平滑过渡动画。

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

转载自:  https://www.jianshu.com/p/f3d6bec5fe0b

这几天开发的时候,有个需要动态改变tableViewHeader的界面,当时是直接在viewDidLoad里面设置了一下tableViewHeader=viewHeader;(现假设viewHeader是tableView的头部视图)
然后在从服务器拿到数据以后,动态设置了viewHeader的高度,发现竟然没有效果...

那么我们简单分析一下:
viewHeader 作为 tableView 的 tableHeaderView,单纯的改变 viewHeader 的 frame 是无济于事的,tableView 不会大度到时刻适应它的高度(以后 Apple 会不会改变就不知道了),所以,如何告诉tableView 它的 tableHeaderView 已经改变了?很简单,就一句话(关键最后一句):

[webView sizeToFit];
CGRect newFrame = viewHeader.frame;
newFrame.size.height = newFrame.size.height + webView.frame.size.height;
viewHeader.frame = newFrame;
[self.tableView setTableHeaderView: viewHeader];

这样以后,效果就出来了。不过这种过度显得有些生硬,能不能加一点点动画,让它变得顺眼一些呢?试试下面的代码:

[self.tableView beginUpdates];
[self.tableView setTableHeaderView: viewHeader];
[self.tableView endUpdates];

PS:大家有没有喜欢我的简书文章呢,喜欢的话,就点击关注吧....一起分享开发中的点点滴滴



作者:D了个Y
链接:https://www.jianshu.com/p/f3d6bec5fe0b
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值