Swift Playground WebView不会显示本地图像

时间:2017-12-21 20:26:59

标签: swift ipad webview wkwebview swift-playground

我正在开发一个Switft Playground,并试图让WebView显示完整的HTML5内容,包括图像。目前,我可以让WebView显示完整的HTML5内容(如果它来自网络),但只有文本(如果它是在本地加载,来自Playground)。

这是我的来源代码:

import Foundation
import WebKit

import Foundation
import UIKit

public class MyWebKitViewController: UIViewController, WKUIDelegate {

var webView: WKWebView!

public override func loadView() {
    let webConfiguration = WKWebViewConfiguration()
    webView = WKWebView(frame: .zero, configuration: webConfiguration)
    webView.uiDelegate = self
    view = webView
}

public func loadLocalHtml(filename: String) {
    let possiblePath = Bundle.main.path(forResource: filename, ofType: "html")
    if let path = possiblePath {
        let url = URL(fileURLWithPath: path)
        webView.loadFileURL(url, allowingReadAccessTo: url)}
}
}

这就是我用来调用loadLocalHtml函数的代码:

import UIKit
import PlaygroundSupport

//Set current Playground View
let vc = MyWebKitViewController()
PlaygroundPage.current.liveView = vc

vc.loadLocalHtml(filename: "testing")

我已经尝试过其他人在这里发布类似声音问题的解决方案,但是没有取得成功。在某些情况下,我得到的WebView只显示白色背景但根本没有内容。提前感谢您的任何帮助!

1 个答案:

答案 0 :(得分:0)

这里的问题相同。应该是这样的,但我不明白。看起来Swift Playgrounds有不同的方式来管理资源。在Xcode Playground中,您的代码按预期工作

import UIKit
import WebKit
import PlaygroundSupport

let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: 375, height: 667))
if let url = Bundle.main.url(forResource: "index", withExtension: "html") {
    let imageURL = Bundle.main.url(forResource: "image1", withExtension: "png", subdirectory: "images/")
    webView.loadFileURL(url, allowingReadAccessTo: imageURL!)
}

PlaygroundPage.current.liveView = webView

如果您找到方法,请回答:]

相关问题