ios8 uitableview 执行顺序变了,怎么调uitableviewcell高度
1个回答
展开全部
第一步:
默认是先走返回高度的方法,再走返回cell的方法。
有种办法可以交换次序:实现tableview的一个代理方法:-(CGFloat)tableView: estimatedHeightForRowAtIndexPath:
在这个代理方法里面,随便返回一个高度值即可,如200;
另外,在返回cell的方法里面加上一句
[self layoutIfNeeded]; 意思是强制布局。
第二步:
在model中设置一个属性:cellHeight , 用来保存cell的高度,在自定义的cell类中计算好赋值给model的属性ccellHeight,这样在返回cell高度的方法中直接拿到model的cellHeight属性即可。
如果每个cell的高度不一致,且要保证性能好,则要用到两个模型,一个frame模型,一个 数据模型,frame模型既包含每个子控件的frame,又拥有 model.
默认是先走返回高度的方法,再走返回cell的方法。
有种办法可以交换次序:实现tableview的一个代理方法:-(CGFloat)tableView: estimatedHeightForRowAtIndexPath:
在这个代理方法里面,随便返回一个高度值即可,如200;
另外,在返回cell的方法里面加上一句
[self layoutIfNeeded]; 意思是强制布局。
第二步:
在model中设置一个属性:cellHeight , 用来保存cell的高度,在自定义的cell类中计算好赋值给model的属性ccellHeight,这样在返回cell高度的方法中直接拿到model的cellHeight属性即可。
如果每个cell的高度不一致,且要保证性能好,则要用到两个模型,一个frame模型,一个 数据模型,frame模型既包含每个子控件的frame,又拥有 model.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询