2016-02-18 28 views
1

我被赋予了一个大的HTML内容(比如说一个巨大的博客文章)。目标是将此HTML内容呈现为多个页面(分页应用程序)。为了清晰起见,不是在UIWebView中进行垂直滚动,而是将内容分成书本(即将页面移动到其余内容,而不是在典型的UIWebView中滚动)。iOS:将大型HTML内容分割为多个水平分页视图

我抬起头,SO上类似的帖子。不幸的是,这些帖子在我的情况下并没有那么有用。作为参考,这里是相似的,所以帖子:

  1. Split html string into multiple pages
  2. ​​
  3. Present html content as dynamic "pages"
  4. 外部参考:https://recalll.co/app/?q=android%20webview%20-%20Split%20html%20string%20into%20multiple%20pages

我如何能实现基于页面的(非垂直滚动)给定HTML内容的应用程序?

回答

0

我知道这是一个老问题,但以防万一:)

你的问题有一个非常简单的解决方案。 UIWebView的每个对象都有一个名为scrollView的字段,它是UIScrollView类的对象。通过设置这些值的UIScrollView支持分页:

webView.scrollView.isPagingEnabled = true // enable pagination 
webView.paginationMode = .leftToRight // set horizontal mode 
webView.paginationBreakingMode = .page // pages or collumns (latter need css support though 

然后,您可以填写您webView数据调用loadHTMLString

guard let path = Bundle.main.path(forResource: "NameOfYourFile", ofType: "html") else { 
    return 
} 
guard let data = FileManager.default.contents (atPath: path) else { 
    return 
} 
guard let contentString = String(data: data, encoding: .utf8) else { 
    return 
} 
let webView = UIWebView(frame: view.frame) 
webView.loadHTMLString(contentString, baseURL: nil)  
view.addSubview(webView) 

这就是你需要做。为了记录,我将上面的代码行放在我的测试项目中的viewDidLoad方法内。

相关问题