gpt4 book ai didi

ios - 在 iPhone 上的一个 UIWebView 中显示多个 PPT

转载 作者:行者123 更新时间:2023-12-03 18:17:44 27 4
gpt4 key购买 nike

在我当前的应用程序中,我有一个 UITableView,它显示了应用程序中存储的数百个 PPT 文件。单击其中一个时,一个包含 UIWebView 的新 View 会将 PPT 文件加载到 webView 中。我想知道是否可以使用 accessoryView 选择多个 PPT 文件,然后将所有这些 PPT 文件加载到一个 UIWebView 中,允许它们从第一个选择滚动到第二个,依此类推。

最佳答案

使用多个 UIWebView

每个 PPT 可能有不同的宽度或纵横比。将所有 PPT 合并成一个 PPT 似乎是个好主意,但可能不切实际。

对于组合多个网页也可以这样说:您可能会遇到冲突的全局变量,例如背景颜色或更糟的编码。

通过选择采用连续性的编程印象,您将避免所有这些问题以及更多问题,并且还能够以连续的方式显示不同类型的文档:PDF、PPT、WEB。


垂直选项

  1. 不要将 UIWebview 添加到您的容器 View ,而是添加 UIScrollView。反过来,将您的 WebView 放置在滚动条内,并使用链式垂直约束。
  2. 单独加载每个 UIWebView 内容:

    aWebView.delegate = self
    if let url = NSBundle.mainBundle().URLForResource("Still", withExtension: "ppt") {
    awebView.loadRequest(NSURLRequest(URL: url))
    }
  3. 修改每个 webview 的固有大小,使其占据整个可用空间。如果您在委托(delegate)中执行此操作,您基本上让操作系统为您完成所有计算,并在事后收集值:

    func webViewDidFinishLoad(webView: UIWebView) {
    if let flow = webView as? FlowWebView {
    flow.w.constant = self.view.bounds.width
    flow.h.constant = webView.scrollView.contentSize.height
    }
    }

为简单起见,我创建了一个简单的包装器,以便我可以轻松访问内部约束,但您也可以轻松地即时重建约束:

class FlowWebView: UIWebView {
@IBOutlet var h: NSLayoutConstraint!
@IBOutlet var w: NSLayoutConstraint!
}

我已经在 iOS 9、Xcode 7、Swift 中试过上面的代码。您唯一需要的补充是:

  • 方向改变
  • 缩放页面以适合

水平选项

水平选项类似(为每个内容使用单独的 UIWebView),只是在 UIScrollView 中水平放置并且可以增加页面 View Controller 的清晰度.

它需要一个固定的高度(更少的计算)和一个可预测的宽度(n x views)。垂直滑动浏览每个 PPT,水平滑动可从一个转到下一个。

关于ios - 在 iPhone 上的一个 UIWebView 中显示多个 PPT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32545811/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com