在网上遨游了好久,看了好多方式然而没有一个适用的,最后换了种新奇的方法不知道会不会使用与广大码农朋友。
感觉应该先上效果图:
因为我们的项目tableViewCell每行的高度不确定所以使用了自动适应高度的方法,导致的结果就是每次reloadData之后获取内容高度赋值如下:
dispatch_async(dispatch_get_main_queue(), ^{
self.table_h.constant = self.chp_table.contentSize.height;
});
其中self.chp_table使用的约束布局,self.table_h是self.chp_table的高度,结果却是每次显示出来结果高度都不对;
然后用了网上说的直接每行计算高度赋值,发现还是不行手机屏幕宽度不一样导致高度计算偏差有大有小;
最后实在没办法又换回了最开始的方法,只是做了一点微小的调整,到现在我也不理解原理是什么,希望有大神可以解答。
下面是调整过得方法
self.table_h.constant = 100.; //(不确定是不是随便设置个值都可以)
dispatch_async(dispatch_get_main_queue(), ^{
self.table_h.constant = self.chp_table.contentSize.height;
});
希望对大家有所帮助