iOS:电子书的大量交互式文本

标签 ios objective-c text

我们正在制作一个应用程序并打算编写并包含大量文本。我想让文本尽可能吸引人,比如添加电影、图像、漂亮的标题等......

我有大约 100 页 A4 的文本,并且会添加更多,所以我必须找到一种好的方式来组织它,并使其易于修改。

你会怎么做?

我想到了这些方法:

<强>1。将每一章放在一个txt文件中,并为不同的元素添加标签(例如),然后使用TextKit解析应用程序中的文本以布局元素。

<强>2。为每个章节制作一个PDF并显示它。

这些似乎都不是很好。我查看了看起来不错的 iBook author,但我似乎无法找到任何将 Material 直接导出和包含到应用程序中的可能性?

是否有其他软件可以让您构建这本书,然后以某种不错的方式导出它以便您可以在 iOS 中解析它?

最佳答案

我最近遇到了同样的问题,我们决定使用 RTF 文件。它们是高度可定制的,并且您允许用户能够复制漂亮的文本。 Plus 文本始终呈现清晰,RTF 文件使应用程序保持小巧。使用 PDF 会使应用变得不必要的大。

它们也很容易阅读:

NSString *fileName = @"impressum.rtf";
NSURL *url = [[NSBundle mainBundle] URLForResource:[fileName stringByDeletingPathExtension] withExtension:[fileName pathExtension]];

NSError *error;
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithFileURL:url
                                                                               options:@{NSDocumentTypeDocumentAttribute:NSRTFTextDocumentType}
                                                                    documentAttributes:nil
                                                                                 error:&error];

CGRect paragraphRect = [attributedString boundingRectWithSize:CGSizeMake(_textLabel.frame.size.width, CGFLOAT_MAX)
                                                          options:(NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeading)
                                                          context:nil];

UpdateFrameHeight(_textLabel, paragraphRect.size.height);
[_textLabel setAttributedText:attributedString];

我们唯一没有做的就是将图像直接应用到 RTF 中。我们在图像所在的文本文件中插入空格,然后将它们作为 subview 添加到 TextView 中。

关于iOS:电子书的大量交互式文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25761923/

相关文章:

objective-c - indexofobject 返回 nil

c# - 在 C# 中的单色位图上绘制文本

javascript - 如何在鼠标悬停时突出显示不同div中的文本和图像

ios - 在已经使用 SQLite 的现有应用程序中采用核心数据

ios - 为mac平台移植iOS项目

ios - 具有缩放比例模式的UIImageView显示奇怪的图像

ios - 返回每个文件的文件 URL 的 NSArray

iphone - UIPopover 和 UITableView 数据交换

python - 打印乐谱 - Pygame

ios - 从 TDD 构建架构写入 "modules"