1
nullcc 2015 年 7 月 20 日
没看过你的代码不是很清楚,参考我以前写的这方面的代码,计算高度的时候创建的typesetter要记得CFRelease掉,另外要在主线程里setNeedsDisplay。
|
2
wdxz5586 2015 年 7 月 20 日 CoreText 和 CoreGraphics 都是线程安全的,可以不在主线程做排版和渲染。AsyncDisplayKit 很优雅地封装了这种操作,可以参考参考。
|
5
nullcc 2015 年 7 月 20 日
唐巧有写过一个coretext排版引擎,开源的,可以参考下
|
6
yfmir 2015 年 7 月 20 日
可以尝试UILabel + NSAttributedString
|
7
chmlai 2015 年 7 月 20 日
简单的就是在后台把要显示的东西绘制到一个图片上去然后 dispatch 到UI 线程显示图片就行了.
|
8
joeytat 2015 年 7 月 20 日
只是表情的话,NSAttributedString + NSTextAttachment 就可以了。之前撸过一个类似的小东西 https://github.com/joeytat/JTATEmoji
|
13
ibremn 2015 年 7 月 20 日
所有能后台线程完成的操作,都放到后台线程去做。
拿显示微博举个例子: 1.发起网络请求,开始转圈圈。 2. 获取到JSON数据后,在后台线程里解析成数据模型,随后创建CoreText对象、计算每个Cell的高度,保存到一个中间模型去(比如每个 Cell 对应一个 CellLayout)。 3.停止转圈圈,更新 TableView。 4.在 Cell 需要更新时,传入 CellLayout 来显示。 5.在需要绘制文本时,先清空文本 label.layer.contents, 在后台线程创建 BitmapContext,用CoreText绘制为图片,然后转到主线程来把图片更新到 label.layer.contents 去。 或者。。直接用 AsyncDisplayKit 吧。。原理类似。。 |
18
loveuqian 2015 年 7 月 20 日 via iPhone
今天才刚学自定义cell。。。
|