根据NSString的内容更改UITextView中文本的大小

时间:2013-10-12 19:10:12

标签: ios objective-c uitextview textkit

我正在尝试使用NSManagedObject子类的实例(圣经阅读器应用程序中的实例)加载带有内容的UITextView。

通过迭代选定章节中的经文并附加每个连续的经文来加载我的UITextView。

NSArray *selectedVerses = [[Store sharedStore] versesForBookName:selectedBook
                                                   ChapterNumber:selectedChapterNum];
displayString = @"";
for (Verse *v in selectedVerses) {
    NSMutableString *addedString =
    [NSMutableString stringWithFormat:@"%d %@", [v versenum], [v verse]];
    displayString = [NSMutableString stringWithFormat:@"%@ %@", addedString, displayString];
}
NSString *title = [NSString stringWithFormat:@"%@ %@", selectedBook, selectedChapter];
[self setTitle:title];
[[self readerTextView] setNeedsDisplay];
[[self readerTextView] setText:displayString];

上面的代码生成了正确的视图,但只允许整个UITextView使用一种大小的文本。

我希望每节经文之前的经文编号是比其经文更小的字体,但是没有找到使其有效的方法。我一直在阅读文档,似乎通过使用属性字符串可以使用TextKit和CoreText,但我似乎无法将其编译。

我不想将视图作为UIWebView加载。

非常感谢任何有关此建议。

1 个答案:

答案 0 :(得分:0)

您正在寻找NSAttributedStringNSMutableAttributedString。你应该阅读Introduction to Attributed String Programming Guide。它们通常与普通字符串相似,但另外包含具有适用范围的属性。另一种对您有帮助的方法是:

[self readerTextView].attributedText = yourAttributedString;

如果您对归因字符串有一些特定问题,请发布您的代码。