ios app 中 ,uitableviewcell如何展示高度不同的图片?

每张图片的尺寸都不一样。现在宽要强制等于屏幕宽度,按照这样的比例,对高度进行调节。

我现在的流程是,图片加载之前给一个固定的高度,然后图片加载之后,计算图片的大小,再对cell的高度进行调整。

现在似乎有点问题。有些时候,有的cell没有按图片大小进行调整。不知道哪里的问题。

我现在的问题是:

如果我把图片的尺寸信息保存到数据库里面,这样,我就可以在图片加载之前按照数据计算出cell的高度,即使图片未加载前,我仍然能给他预留一个高度。理论上没问题吧?或者完全不必这样做仍然能满足我的需求?

-----补充-------

图片因为是异步加载的缘故,之前我没有把高度调节的函数放到加载之后再进行,所以导致有些图片高度没有调整。
现在放到图片加载之后再调节。会导致整个table的cell随着图片的加载,不断再调整高度。体验非常不好。

我看到instagram在图片未加载之前,高度就已经定好了。估计他也是先保存图片宽度和高度了。

阅读 8.9k
1 个回答

动态tableView 高度实现两种方案

  1. 用autolayout
  2. 不用autolayout

不管哪种方式,都需要你得到图片的高度,所以你的想法没错。
Instagram 的图片大小是固定的,所以他直接丢那儿就可以了。

你可以参考下这个项目:
https://github.com/2359media/STXDynamicTableView

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进