8

我正在从 XML 文件中获取文本数据,并希望它UIWebView在 iPad 上以类似书页的格式显示。XML 文件来自 a .epub,每个文件都包含一本书的一个章节,仅由 p 标签划分。

UIWebView我想根据iPad 全屏的大小以及用户选择的字体大小将这些文件动态分页成书状页面。我目前正在将带有相关 css 的空白 html 页面加载到 a中,根据 XML 中的字符串作为字符串的字符数抓取段落,并使用和 innerHTML 属性UIWebView将它们打印到 html 中。StringByEvaluatingJavaScriptFromString

显然,按字符数执行此操作会创建间距不正确、格式奇特的页面,但我不确定如何“分页”文本。

我想做的是类似于 iPad 上的应用程序“eReader”:http ://www.ereader.com/ 。他们似乎将单个文件动态分解为页面,并将其加载到UIWebViews. 这是怎么做到的?

4

3 回答 3

3

大多数基于 EPUB 的阅读器UIWebView只是简单地使用 CSS3 列来对文档进行分页。

您可以在http://www.quirksmode.org/css/multicolumn.html看到这一点

基本思想是您“列”文档,然后水平滚动它以显示特定页面。

在 iPhone 和 iPad 上为一个流行的(加拿大)电子阅读器应用程序完成此操作后,我可以告诉您该技术有效,但远非理想。

于 2010-11-17T20:00:59.987 回答
1

代码已经制作好了。它被称为 epubjs。它是仅 Javascript 的 epub 阅读器。

于 2010-11-19T12:47:27.203 回答
0

将 UITextView 与 PageviewController 一起使用。(如果有的话,请在其中说明您的疑问)

于 2014-05-22T07:11:23.473 回答