扫码关注官方订阅号
人生最曼妙的风景,竟是内心的淡定与从容!
在UITableView中是先计算每个Cell的高度,以便确定UIScrollView的contentSize,然后再调用数据源方法获取Cell。显然,当你的代码在计算Cell的高度时,Cell还没被创建。我的建议是搞一个Model,将Cell中的数据进行封装,并在Model中提供获取Cell高度的接口。
不太懂swift你注册cell了吗,如果注册了是不用判断cell是否为nil(现在判断一个东西为空,我都是用感叹号判断了,写==容易出错)
另外我记得heightforrow方法会调cellforrow还是cellforrow会调heightforrow的这样弄会循环,我不知道你heightforrow方法里面是什么意思
我的cellheight如果为了适配8以下的,我会给模型增加一个cellheight属性再重写cellheight的getter方法在里面计算高度,然后heightforrow返回当前row模型的cellheight
注意下这两个方法的调用顺序
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
在UITableView中是先计算每个Cell的高度,以便确定UIScrollView的contentSize,然后再调用数据源方法获取Cell。显然,当你的代码在计算Cell的高度时,Cell还没被创建。我的建议是搞一个Model,将Cell中的数据进行封装,并在Model中提供获取Cell高度的接口。
不太懂swift
你注册cell了吗,如果注册了是不用判断cell是否为nil
(现在判断一个东西为空,我都是用感叹号判断了,写==容易出错)
另外我记得heightforrow方法会调cellforrow还是cellforrow会调heightforrow的
这样弄会循环,我不知道你heightforrow方法里面是什么意思
我的cellheight如果为了适配8以下的,我会给模型增加一个cellheight属性
再重写cellheight的getter方法在里面计算高度,然后heightforrow返回当前row模型的cellheight
注意下这两个方法的调用顺序