愚蠢的问题很尴尬,但无法弄明白。
添加本地html很简单,但由于我将有几个不同的页面(场景),我需要每个html页面都有自己的目录。
我正在努力如何定义要使用的html文件的位置(目录)。
以下代码使用:
let filePath = ("html_shark" as NSString).stringByAppendingPathComponent("sharks.html")
let url:NSURL=NSURL(fileURLWithPath:filePath)
let request:NSURLRequest=NSURLRequest(URL:url)
myWebView!.loadRequest(request)
将使用的两个文件夹是
html_shark @ sharks.html和 HTML_turtlesCon @ turtles.html
答案 0 :(得分:2)
你确定你有真正的文件夹,而不仅仅是组。如果是这样的话
let path = NSBundle.mainBundle().pathForResource("htmlpage2", ofType: "htm", inDirectory:"sub")
// use path to create nsurl for nsurlrequest
答案 1 :(得分:0)
[NSURL fileURLWithPath:@"foo/bar.html"]
将为file:///foo/bar.html
,这意味着文件网址/foo/bar.html
位于设备文件系统上,/
不是应用包路径的根目录。
您可以使用NSBundle
类获取应用的根路径。例如[NSBundle mainBundle].bundlePath
。
对于您的问题,如果您的html_shark
HTML_turtlesCon
目录在Xcode中显示黄色图标颜色,请使用以下代码:
NSURL *url = [[NSBundle mainBundle].resourceURL URLByAppendingPathComponent:@"sharks.html"];
如果目录中包含html文件在Xcode中显示蓝色图标颜色,请使用:
NSURL *url = [[NSBundle mainBundle].resourceURL URLByAppendingPathComponent:@"html_shark/sharks.html"];
Swift代码:
let url:NSURL = (NSBundle.mainBundle().resourceURL?.URLByAppendingPathComponent("sharks.html"))!
webView.loadRequest(NSURLRequest(URL: url))