iOS 开发:UITableView reloadData 之后获取的contentsize.height不正确

项目需求是tableView不需要上下滚动,又要能展示全部的cell,所以需要动态设置整个tableView的真实高度。又因为table中的cell也是动态高度的,所以整个table的高度只有通过contentsize.height动态获得。但是发现每次reloadData之后,contentsize.height的值都是cell的预估高度乘以总行数,而不是真实高度!!网上搜到方法很简单解决:

在使用UITableView 、UICollectionView ,调用reloadData方法之后,并不立即更新其contentSize。原因如下:http://jacksonriver.com/news/ios-adventures-uitableview-animation-callbacks-key-value-observing

若想使其立即更新contentSize,可以显示地调用 layoutSubviews 或 layoutIfNeeded。

文章中jacksonriver.com网站链接打不开了,所以还没研究不立即更新contentSize的原因。先记录备忘一下。

 

除了这个方法,这篇文章提到还有终极解决方案,用KVO解决。

 

参考文章:

https://www.cnblogs.com/ygm900/p/4794738.html

https://www.jianshu.com/p/11652063546f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值