【问题标题】:Update webview page number when updating font更新字体时更新网页浏览页码
【发布时间】:2015-10-01 13:12:19
【问题描述】:

我正在开发一个图书阅读器 iOS 应用程序,并使用 webview 来显示 epub 图书。我用来解析 epub 书的第 3 方库是“KFEpubKit”。

我必须为用户提供调整字体大小的选项(如在 iBooks 中),我通过将 webview 的字体更新为:

let textSizeRule = "document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust= '\(fontPercentage)%'"
self.webView.stringByEvaluatingJavaScriptFromString(textSizeRule)

我面临的问题是,通过增加/减少字体大小,书的页码也必须改变。但我无法这样做。

我怎样才能像其他图书阅读应用程序(即 kindle、iBook 等)一样实现此功能?

【问题讨论】:

  • 暂时,我正在重新加载书籍和计算页码。虽然用户体验不是很好但是我没有找到任何其他的解决方案
  • 我用 swift 编写了一个 ePub 阅读器来处理这个问题,看看github.com/FolioReader/FolioReaderKit

标签: ios swift webview epub


【解决方案1】:

您可以创建第二个隐藏的 WebView 对象。您在后台 webview 中执行相同的操作(“暂时,我正在重新加载书籍并计算页码。”)。 在您的 webViewDidFinishLoad 方法中,检查加载了哪个 webview

func webViewDidFinishLoad(webView: UIWebView) {
    if webView == backgroundWebview {
        //Compute number of pages

    } else {
        //Foreground webview

    }
}

所以用户不会被重新加载的 webview 打扰。

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2017-11-24
    • 2014-11-07
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 2013-04-25
    • 2011-04-21
    • 1970-01-01
    相关资源
    最近更新 更多