我有一个带有 NSString 内容的 NSOrderedSet 段落。遍历所有内容,创建一个大字符串并赋予 NSTextStorage。但是所有的段落都丢失了。
下面的代码允许我计算页面并在页面中显示内容。但我想将内容分成段落并知道用户何时点击特定段落。
如何使用 NSTextStorage 将内容不显示为单个大字符串,而是显示为一组较小的文本块?注意:我使用 UIPageViewController 来显示内容,所以我还需要知道每页的段落数。
NSString *content = @"";
for (TWParagraph *paragraph in self.bookParagraphs)
{
TWTextBlock *textBlock = paragraph.hasTextBlock.firstObject;
content = [content stringByAppendingString:textBlock.textContent];
}
NSTextStorage *localTextStorage = [[NSTextStorage alloc] initWithString:content];
NSLayoutManager *localLayoutManager = [NSLayoutManager new];
NSTextContainer *localTextContainer = [self createTextContainer];
localLayoutManager.delegate = self;
[localTextStorage addLayoutManager:localLayoutManager];
[localLayoutManager addTextContainer:localTextContainer];
[localLayoutManager ensureLayoutForTextContainer:localTextContainer];
self.numberOfPages = [[localLayoutManager textContainers] count];
谢谢。