Ios 在UIWebView中打开一些项目,在外部浏览器中打开其他项目

Ios 在UIWebView中打开一些项目,在外部浏览器中打开其他项目,ios,swift,uiwebview,Ios,Swift,Uiwebview,我正在创建一个嵌入UIWebView的html5应用程序。我已经将webview委托给控制器,在shouldStartLoadWithRequest上,我正在寻找url模式是否在外部浏览器上打开 这是完美的工作 但当手机并没有连接时,我会加载本地html文件。因为第一个请求时shoulldstartLoadWithRequest返回FALSE,所以脱机.html不会加载 有人这么做过吗 在设置路径后立即尝试此操作: do { let path = NSBundle.mainBundle(

我正在创建一个嵌入UIWebView的html5应用程序。我已经将webview委托给控制器,在shouldStartLoadWithRequest上,我正在寻找url模式是否在外部浏览器上打开

这是完美的工作

但当手机并没有连接时,我会加载本地html文件。因为第一个请求时shoulldstartLoadWithRequest返回FALSE,所以脱机.html不会加载

有人这么做过吗


在设置路径后立即尝试此操作:

do {
    let path = NSBundle.mainBundle().pathForResource("offline", ofType: "html", inDirectory:"offline")
    let string = try String(contentsOfFile: path!, encoding:NSUTF8StringEncoding)
    webView.loadHTMLString(string, baseURL: NSURL(string: "http://"))
} catch {
    print(error)
}

我试过了,效果很好

确保“脱机”目录是文件夹(蓝色)而不是组(黄色)。


希望这有帮助。

我发现了问题。我没有触发错误-1003(找不到主机)!拆卸开关工作正常

请将代码作为文本而不是截图添加到问题中。对不起,我的xcode在VMbox中!第一个解决方案是一个很好的解决方案,但不起作用。offline.html是白色屏幕吗?我刚刚试过,效果不错。用我的新更改重试。我发现了问题。我没有触发错误-1003(没有找到主机)!拆下开关工作正常
let url = NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource("offline", ofType:"html", inDirectory: "offline")!)
let request = NSURLRequest(URL: url);
webView.loadRequest(request);