文本渲染iOS - 呈现快速更改文本的最高效方式

时间:2014-10-27 10:19:56

标签: ios objective-c performance nsattributedstring core-text

在iOS中呈现快速更改文本(10-15个数字可以改变每一帧)的最佳效果是什么?这些是我到目前为止所做的尝试:

1)CATextLayer + CTFontNSString:相当快但无法访问我需要的字距调整。 (如果有人知道如何使用CTFont并且没有NSAttributedString进行字距调整的技巧,那也很酷,但这不是主要问题;))

2)CATextLayer + NSAttributedString:缓慢且滞后。与1)相比,我看到了巨大的FPS下降。在我的应用程序中,此更改使FPS从50-60降至30。

3)位图字体,使用UIImageViewsUIImage来显示数字:虽然不是很令人满意,但在iOS中应该有更好的方式/更自然的方式来渲染字体有效。

编辑:

4)UILabel + NSString - 非常快,但又无法访问字距调整。

5)UILabel + NSAttributedString - 又慢又迟钝。

渲染NSAttributedString比渲染基本NSString慢得多。这真是令人沮丧,因为目前NSAttributedString所需要的只是字母之间的间距。

1 个答案:

答案 0 :(得分:0)

Apple最近将TextKit添加到iOS,您可以先查看:TextKit documentation