我正在从 XML 文件中获取文本数据,并希望它在 iPad 上的 UIWebView
中以类似书页的格式显示。 XML 文件来自 .epub
,每个文件都包含一本书的一个章节,仅由 p 标签分隔。
我想根据整个 iPad 屏幕的 UIWebView
大小以及用户选择的字体大小,将这些文件动态分页为类似书本的页面。我目前正在将一个带有相关 css 的空白 html 页面加载到 UIWebView
中,根据字符数从 XML 中获取段落作为字符串,然后使用 StringByEvaluatingJavaScriptFromString
将它们打印到 html 中和 innerHTML 属性。
显然,按字符数执行此操作会创建间距不正确、格式奇怪的页面,但我不确定如何对文本“分页”。
我想做的是类似于 iPad 上的“eReader”应用程序:http://www.ereader.com/ .他们似乎将单个文件动态地分解为页面,并将其加载到 UIWebView
中。这是怎么做到的?
最佳答案
大多数基于 UIWebView
的 EPUB 阅读器只是使用 CSS3 Columns 对文档进行分页。
您可以在 http://www.quirksmode.org/css/multicolumn.html 上看到实际效果
基本思想是将文档“列化”,然后水平滚动以显示特定页面。
在 iPhone 和 iPad 上为一个流行的(加拿大)电子阅读器应用程序完成此操作后,我可以告诉您该技术有效但远非理想。
关于objective-c - 电子阅读器式分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4208423/