cell 动态高度

项目中遇到cell动态高度,原本想着是根据数据源的数据来给cell的高度赋值就行了,可是一直弄不好。。有的没错,但是有的cell上的自视图会超过cell的高度,覆盖下个cell,造成很大的困扰。。没办法,菜鸟啊。。。

不过问题终究还是被解决了。。。

我是用xib拖的cell,但是没用适配。是代码适配的。


给cell一个获取高度的方法,在cell的点h申明中。在点m中实现


这里我的cell是根据cell上加的一个背景View(cellBeijinView)的高度变化而变化的,而这个背景view上有lable和图片,lable上显示服务器传过来的备注信息,字数不定,所以高度也不一定,图片数量也不一定,所以我的背景View高度也是动态的。

/*这里是重要部分*/


这个方法是给cell一个预定的高度,一般的都是先吊用heightForRowAtIndexPath方法在调用cellForRowAtIndexPath方法。但是现在加了上面的给定预先高度的

方法,就可以先调用cellForRowAtIndexPath
再调用heightForRowAtIndexPath方法了,而且最终cell的高度是以heightForRowAtIndexPath方法中给的值为准。

所以我们可以在cellForRowAtIndexPath中弄到Cell上背景view的高度,再把cell的高度放到一个字典中存起来,key就用indexpath来设定。


在cellForRowAtIndexPath方法中,

在heightForRowAtIndexPath
方法中


这样就OK了,注意这里在cellForRowAtIndexPath方法里有一个

这个是让一个cell预先布置试图,和那个给定预先高度的方法同理,总之这样过后,你的适配就可以了。完美。。。

当然本菜鸟有哪些地方说的不对,欢迎指正,不要让我的理解一直歪曲,谢谢大家,希望帮到你们



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容