0

我正在尝试使用来自 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。

对此的任何建议将不胜感激。

4

1 回答 1

0

您正在寻找NSAttributedStringNSMutableAttributedString。您应该阅读属性字符串编程指南简介。它们通常类似于普通字符串,但另外包含具有它们适用范围的属性。另一种对您有帮助的方法是:

[self readerTextView].attributedText = yourAttributedString;

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

于 2013-10-12T19:17:46.940 回答