更新字体时更新webview页码



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

我必须给用户一个选项来调整字体大小(就像在iBooks中一样),我已经通过更新webview的字体实现了这个功能:

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

我面临的问题是,通过增加/减少字体大小,书的页数也必须改变。但我做不到。

我怎样才能像其他阅读应用程序(如kindle, iBook等)那样实现这个功能?

你可以创建第二个隐藏的WebView对象。你在后台webview做同样的事情("暂时,我正在重新加载书并计算页码。")。在你的webViewDidFinishLoad方法中,检查哪个webview被加载

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

这样用户就不会被重新加载的webview打扰了。

希望这对你有帮助!

最新更新