猿问
下载APP

如何将本地html文件加载到UIWebView中

如何将本地html文件加载到UIWebView中

我正在尝试将html文件加载到我的UIWebView中,但它不起作用。这是舞台:我的项目中有一个名为html_files的文件夹。然后我在界面构建器中创建了一个webView,并在viewController中为它分配了一个插座。这是我用来附加html文件的代码:

-(void)viewDidLoad{
    NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"html" inDirectory:@"html_files"];
    NSData *htmlData = [NSData dataWithContentsOfFile:htmlFile];
    [webView loadData:htmlData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];
    [super viewDidLoad];}

这不起作用,UIWebView是空白的。我很感激一些帮助。


aluckdog
浏览 106回答 3
3回答

缥缈止盈

可能最好使用NSString并加载html文件,如下所示:Objective-C的NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"sample" ofType:@"html"];NSString* htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];[webView loadHTMLString:htmlString baseURL: [[NSBundle mainBundle] bundleURL]];迅速let htmlFile = NSBundle.mainBundle().pathForResource("fileName", ofType: "html")let html = try? String(contentsOfFile: htmlFile!, encoding: NSUTF8StringEncoding)webView.loadHTMLString(html!, baseURL: nil)Swift 3几乎没有变化:let htmlFile = Bundle.main.path(forResource: "intro", ofType: "html")let html = try? String(contentsOfFile: htmlFile!, encoding: String.Encoding.utf8)webView.loadHTMLString(html!, baseURL: nil)你试过了吗?还要检查是否通过pathForResource:ofType:inDirectory调用找到了资源。

噜噜哒

将所有文件(html和资源)放在一个目录中(对于我的“手册”)。接下来,通过“Supporting Files”将目录拖放到XCode。您应该选中“如果需要,复制项目”和“创建文件夹引用”选项。接下来,编写一个简单的代码:NSURL *url = [[NSBundle mainBundle] URLForResource:@"manual/index" withExtension:@"html"];[myWebView loadRequest:[NSURLRequest requestWithURL:url]];注意@"manual/index",manual是我的目录的名称!! 这都是!!!! 对不起,我的英语不好...================================================== =====================Hola desde哥斯达黎加。Ponga los archivos(htmlydemásreecursos)en un directorio(en mi casolollamémanual),luego,arrastre y suelte en XCode,sobre“Supporting Files”。Usted debe seleccionar las opciones“如果需要,复制项目”y“创建文件夹引用”。NSURL *url = [[NSBundle mainBundle] URLForResource:@"manual/index" withExtension:@"html"];[myWebView loadRequest:[NSURLRequest requestWithURL:url]];Prestaatencióna @"manual/index",手册 es el nombre de mi directorio !!

素胚勾勒不出你

对于Swift 3和Swift 4:let htmlFile = Bundle.main.path(forResource: "name_resource", ofType: "html")let html = try! String(contentsOfFile: htmlFile!, encoding: String.Encoding.utf8)self.webView.loadHTMLString(html, baseURL: nil)
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答