我无法加载本地HTML文件。这是我的代码。请帮忙。
let URL = NSBundle.mainBundle().pathForResource("index2", ofType: "html")
let request = NSURLRequest(URL: url!)
Webview.loadRequest(request)
使用以下代码。我已经设法加载html文件,但它没有加载CSS!
让htmlFile = NSBundle.mainBundle()。pathForResource(“index1”,ofType:“html”) 让html =试试? String(contentsOfFile:htmlFile!,encoding:NSUTF8StringEncoding) GSFWebView.loadHTMLString(html!,baseURL:nil)
答案 0 :(得分:0)
只需在ViewDidLoad中编写此代码,我已添加此页面的URL作为示例,只需将其替换为您的。在故事板上,您不需要做任何事情,如果您在视图控制器上添加了任何额外的视图作为网站的容器,那么将我的代码中的self.view
替换为您的视图。
let myWebView:UIWebView = UIWebView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height))
//add your url on line below
myWebView.loadRequest(URLRequest(url: URL(string: "https://stackoverflow.com/questions/26647447/load-local-html-into-uiwebview-using-swift")!))
self.view.addSubview(myWebView)
如果您想从本地文件加载页面,可以通过这种方式定义URL来实现。
Swift 2
let url = NSBundle.mainBundle().URLForResource("webFileName", withExtension:"html")
Swift 3
let url = Bundle.main.url(forResource: "webFileName", withExtension: "html")
答案 1 :(得分:0)
我只需要将此代码添加到viewDidLoad方法:
1-首先,您必须从捆绑软件中获取本地URL。 (以前,我将index.html文件添加到了项目中,并在询问时进行复制)
2-然后,您必须创建要从webView加载的请求URL。
3-毕竟,从主视图添加作为子视图创建的新webView。
对我有用。
if let url = Bundle.main.url(forResource: "index", withExtension: "html"){// 1st step
webView.loadFileURL(url, allowingReadAccessTo: url)
let request = URLRequest(url: url as URL) // 2nd step
webView.load(request)
self.view.addSubview(self.webView) // 3rd step
}