1

我在文档中读到,NSString类别方法drawInRect适用于少量文本,但对于大量文本来说开销太大。在我的情况下,替代方法是使用 Core Text CTFrameDraw

drawInRect我的问题是,使用vs Core Text之间的“分界点”是什么?Core Text 总是比 快drawInRect吗?如果额外的编程不是问题,我是否应该总是使用 Core Text 而不是drawInRect,即使是小字符串?

大多数情况下,我会画段落,但有时它们也可能是短线。

4

3 回答 3

1

对我来说,当我对平面设计师有一些特定要求时,就会使用核心文本。例如需要混合颜色、类型、字体大小等的标签。drawRect 是在视图层中绘制东西的方法,只是 CG 函数的包装,核心文本是处理如何绘制文本的完整框架:更改字体,空间,联运。我的意思是作为比较是不公平的,一个更好的问题可能是使用核心文本而不是常见的 UI 文本 porpoise obejects 并且答案基于您的应用程序设计-UI 相关要求。希望这可以帮助。

于 2012-05-13T17:49:44.910 回答
0

I wonder if using a UIWebView would get all the performance that's possible. The iOS (and every OS) has a constantly loaded webkit ready to go. Its pretty well optimized too. It would also get work offloaded.

Interesting to compare.

于 2012-05-13T18:32:53.140 回答
0

我会编写一些测试代码来使用您预期的字符串内容的统计分布来对正在考虑的两种方法进行基准测试。可能需要数千万的字符串渲染时间。在实际的 iOS 设备上运行基准测试,因为使用 ARM 目标框架的相对性能可能会有所不同。

于 2012-05-13T18:06:41.353 回答