Ios Swift 3 webView本地HTML

Ios Swift 3 webView本地HTML,ios,swift,webview,uiwebview,Ios,Swift,Webview,Uiwebview,我需要将本地HTML、CSS和JS加载到iOS应用程序中,让我的老板高兴。我使用的是Xcode 8.3.1和Swift 3。我已经创建了一个新项目,在Main.storyboard中放置了一个WebView 其他StackOverflow资源帮助我走到了这一步: @IBOutlet weak var webView: UIWebView! override func viewDidLoad() { super.viewDidLoad() // Do any additional

我需要将本地HTML、CSS和JS加载到iOS应用程序中,让我的老板高兴。我使用的是Xcode 8.3.1和Swift 3。我已经创建了一个新项目,在Main.storyboard中放置了一个WebView

其他StackOverflow资源帮助我走到了这一步:

@IBOutlet weak var webView: UIWebView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    let urlpath = Bundle.main.path(forResource: "index", ofType: "html");
    let requesturl = URL(string: urlpath!)
    let request = URLRequest(url: requesturl!)
    webView.mainFrame.load(request)
}
我得到这个错误:

“UIWebView”类型的值没有成员“mainFrame”


当我删除大型机时,它说我缺少一个mimeType。有人能帮忙吗?我显然是斯威夫特的不速之客。

mainFrame
来自只适用于macOS的类
WebView

由于您使用的是
UIWebView
,因此需要使用
webView.loadRequest

您的URL也有问题。使用
URL(fileURLWithPath:)
从路径字符串创建
URL
,或者更好地使用
Bundle.main.URL(forResource:withExtension:)
直接获取
URL


您可能还希望使用
WKWebView
而不是
UIWebView
。它有更多的功能,可能更适合您的需要。

mainFrame
来自仅适用于macOS的类
WebView

由于您使用的是
UIWebView
,因此需要使用
webView.loadRequest

您的URL也有问题。使用
URL(fileURLWithPath:)
从路径字符串创建
URL
,或者更好地使用
Bundle.main.URL(forResource:withExtension:)
直接获取
URL

您可能还希望使用
WKWebView
而不是
UIWebView
。它有更多的功能,可能更适合您的需要。

Swift 5

    let path = Bundle.main.path(forResource: "temp", ofType: "html")!
    //reading
    var text = try! String.init(contentsOfFile: path, encoding: String.Encoding.utf8)
    text = text.replacingOccurrences(of: "${contents}", with: contents)
    // load string
    let bundleURL = URL.init(string: path)
    webView.loadHTMLString(text, baseURL: bundleURL)
完成了

Swift 5

    let path = Bundle.main.path(forResource: "temp", ofType: "html")!
    //reading
    var text = try! String.init(contentsOfFile: path, encoding: String.Encoding.utf8)
    text = text.replacingOccurrences(of: "${contents}", with: contents)
    // load string
    let bundleURL = URL.init(string: path)
    webView.loadHTMLString(text, baseURL: bundleURL)

完成了

webView.loadRequest(请求)
?使用
func loadRequest(request:URLRequest)
(doc:)是的,非常感谢您,我如何投票支持您或发送道具?我读了1000多个问题,但从未发布过一个
webView.loadRequest(request)
?使用
func loadRequest(request:URLRequest)
(doc:)是的,非常感谢您,我如何投票支持您或发送道具?我读了1000多个问题,但从来没有发过一个