我的目标是使用TextKit来斜体,设置某些单词的文本大小等.
首先,我只想在文本字符串中突出显示一个字符.作为TextKit的新手(以及一般的编程),我遵循obc.io问题#5的语法高亮主题.
当我使用内置于我创建的UITextView的NSLayoutManager时,我的文本出现在屏幕上,没有抛出异常.当我在我的视图控制器(下面)中将我的UITextView设置为我的NSTextStorage子类的布局管理器时,我收到了无效字形索引的异常错误.
_textStorage = [BBRSyntaxHighlightTextStorage new];
[_textStorage addLayoutManager: self.readerTextView.layoutManager];
Run Code Online (Sandbox Code Playgroud)
控制台输出如下:
_NSLayoutTreeLineFragmentRectForGlyphAtIndex invalid glyph index 528
2013-12-01 15:23:24.949 BibleReader[6077:70b] !!! _NSGlyphTreeInvalidateGlyphsForCharacterRange invalid char range 1
2013-12-01 15:23:24.956 BibleReader[6077:70b] !!! _NSLayoutTreeLineFragmentRectForGlyphAtIndex invalid glyph index 528
2013-12-01 15:23:24.957 BibleReader[6077:70b] !!! _NSGlyphTreeInvalidateGlyphsForCharacterRange invalid char range 1
2013-12-01 15:23:24.957 BibleReader[6077:70b] !!! _NSGlyphTreeInvalidateGlyphsForCharacterRange character count mismatch
2013-12-01 15:23:24.958 BibleReader[6077:70b] !!! _NSLayoutTreeLineFragmentRectForGlyphAtIndex invalid glyph index 4040
2013-12-01 15:23:24.959 BibleReader[6077:70b] !!! _NSGlyphTreeInvalidateGlyphsForCharacterRange invalid char range 1
Run Code Online (Sandbox Code Playgroud)
我已多次阅读Apple的文本编程指南,并认为我理解文本系统是如何建立的,但不知道为什么我的字形数量会超过字形的数量......