今天看了几篇uitableviewcell高度自适应的文章,大体分为两种方式。
第一种方式,cell里面有label,在cellforrow绘制的时候计算Label的可能高度,并且在此时重新计算cell的高度,然后在heightforrow的时候返回这个cell新的高度。也就是说这些cell全部是计算出来的,根据里面的label的高度(label为contentView)。http://blog.csdn.net/swingpyzf/article/details/18093959
第二种方式是,在heightforrow的时候获得该cell中显示的内容的高度,计算之,返回之。然后在cellforrow绘制的时候添加相应内容。详情参考:http://aclyyx.iteye.com/blog/1634726
第三种方式,ios8 cell高度自适应。设置cell上面设置其上面控件的高度自适应,即autolayout。uitableview的rowheight的值要设置为UITableViewAutomaticDimension,使用storyboard编辑uitableviewcontroller的cell里面的textview的autolayout,并且在cell对象里面实现textview的代理,在textview编辑的时候(文字改变回调)重新计算其textview高度,并且使用tableview的beginUpdates和endUpdates去重新计算tableview高度。详情参考:http://www.cocoachina.com/ios/20141226/10778.html。http://vit0.com/blog/2014/11/13/ios-8-zi-shi-ying-cell/