标签:
uitable单元格高度自动适配的前提是你要开启auto layout选项,不明白或者不熟悉的同学先看看这里 http://lvwenhan.com/ios/430.html
按照很多用例上的步骤,不想却踩了坑:
1,禁止实现代理函数 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
2,然后实现 - (CGFloat)tableView:(UITableView *)tableView
estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
注意,这两个代理函数看起来很相似,但是名称确实不一样。estimatedHeightForRowAtIndexPath 是从iOS7开始提供的新API,它的效率比heightForRowAtIndexPath要高;因为它只会获取需要显示的单元格的高度。按用例上的实习后,单元格高度死活没有变化,不会自适应。
最后,尝试了另一种方法,终于成功了,方法如下:
1,即不实现 heightForRowAtIndexPath,也不实现estimatedHeightForRowAtIndexPath;
2,给uitable 设置以下属性:
tableView.estimatedRowHeight = 10.0;
tableView.rowHeight = UITableViewAutomaticDimension;
运行然后就看到效果了;为什么第一种方法不行,我想可能是缺少了点步骤,网络上文章一大抄,估计自己都没测试过,就转载了。有时间再看看第一种方法的问题在哪里。
标签:
原文地址:http://blog.csdn.net/smallhorse87/article/details/46640067