【问题标题】:iOS: Split large HTML content into multiple horizontal paginated viewsiOS:将大型 HTML 内容拆分为多个水平分页视图
【发布时间】:2016-05-30 07:49:33
【问题描述】:

我收到了一个很大的 HTML 内容(比如一篇巨大的博客文章)。目标是将此 HTML 内容呈现为多个页面(分页应用程序)。为清楚起见,不是在 UIWebView 中垂直滚动,而是像一本书一样拆分内容(即您翻页以移动到其余内容,而不是在典型的 UIWebView 中向下滚动)。

我在 SO 上查找了类似的帖子。不幸的是,这些帖子对我来说并不是那么有用。作为参考,以下是类似的 SO 帖子:

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

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

【问题讨论】:

    标签: html ios swift uiwebview


    【解决方案1】:

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

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

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

    然后你可以用数据调用loadHTMLString 填充你的webView

    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 方法中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      • 2017-07-15
      • 2014-10-04
      • 1970-01-01
      • 2017-08-06
      相关资源
      最近更新 更多