图文混排的贴子回复列表,适合用 UITableView 吗?图片异步加载后需要重新计算行高后如何重新渲染 UITableViewCell

2014-12-29 23:45:13 +08:00
 WildCat

最近在用 DTAttributedTextContentView (DTCoreText) 做图文混排,图片都是 lazy load 的,图片加载完成后,有个回调方法 - (void)lazyImageView:(DTLazyImageView *)lazyImageView didChangeImageSize:(CGSize)size ,这里可以获得图片的高度,或者重新计算 DTAttributedTextContentView 的高度。

那么问题来了,图片加载后 DTAttributedTextContentView 的高度肯定会增加,这个 DTAttributedTextContentView 是在一个 UITableViewCell 里的,如何对它重绘?如果调用
[tableview reloadRowsAtIndexPaths:[NSArray arrayWithObject: xxxIndexPath] withRowAnimation:UITableViewRowAnimationAutomatic]
这个方法,这个 cell 还是会被重新加载,高度还是重新计算,成为一个死循环。

我在做的是 iOS8 only app, TableViewCell 用的是约束布局。 似乎调用 [cell setNeedsDisplay] 也是没效果的

10459 次点击
所在节点    iDev
43 条回复
wtgam
2015-09-10 00:40:05 +08:00
请问楼主这个问题解决了吗?请回复,我也遇到同样的问题,急,谢谢
WildCat
2015-09-10 07:24:12 +08:00
@wtgam 没有解决。没有很符合需求的 rich text label ,目前尚无时间用 CoreText/TextKit 自己实现。
暂时的解决办法:用一个 WebView
cedared
2016-01-27 09:13:06 +08:00
@WildCat 求问楼主这个问题现在有解决么?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/157760

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX