美文网首页
iOS开发加载远程和本地的Html文件

iOS开发加载远程和本地的Html文件

作者: 子小每文 | 来源:发表于2019-03-20 14:57 被阅读0次

    HTML文件包含了好多信息量,类似于一个SO库,里面有视频等等的文件和图片需要进行加载。

    //注视:文件还有二部,进行展示下载等等
    本地的话需要读取本地的相对地址:
    htmlName是(******.html)文件名称
    //获取地址
    NSString *bundlePath=[[NSBundle mainBundle]bundlePath];
    NSString *path=[bundlePath stringByAppendingPathComponent:htmlName];
    NSURL *url=[NSURL fileURLWithPath:path];
    NSURLRequest *request=[NSURLRequest requestWithURL:url];
    [self.webView loadRequest:request];
    进行加载就OK了,现在UIWebView改成了WKWebView。相对简单点,进行添加View就OK。
    当时领导让加载好几百MB的html文件,当时就出现了问题,也许就文件过大,也许里面的文件UIKit不支持,加载都是动态旋转。下面的进行不下去了,加载不出来了。小的html试了试是没有问题。

    如果是新包的话,记得开启Plist的http
    添加 App Transport Security Settings
    在上面的目录下在添加Allow Arbitrary Loads 设置YES

    下面说下加载远程的Html文件,这个相对简单些
    NSURL *url = [NSURL URLWithString:@"http://www.baidu.test.cn/Smart_House/story_html5.html"];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [self.webView loadRequest:request];
    完美加载。

    HTML5加载相对路径
    self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0,SCREENWIDTH, SCREENHEIGHT)];
    //添加到view中
    [self.view addSubview: self.webView];
    //获取bundlePath 路径
    NSString *bundlePath = [[NSBundle mainBundle] bundlePath];
    //获取本地html目录 basePath
    NSString *basePath = [NSString stringWithFormat: @"%@/www", bundlePath];
    //获取本地html目录 baseUrl
    NSURL *baseUrl = [NSURL fileURLWithPath: basePath isDirectory: YES];
    NSLog(@"%@", baseUrl);
    //html 路径
    NSString *indexPath = [NSString stringWithFormat: @"%@/story.html", basePath];
    //html 文件中内容
    NSString *indexContent = [NSString stringWithContentsOfFile:
    indexPath encoding: NSUTF8StringEncoding error:nil];
    //显示内容
    [self.webView loadHTMLString: indexContent baseURL: baseUrl];

    相关文章

      网友评论

          本文标题:iOS开发加载远程和本地的Html文件

          本文链接:https://www.haomeiwen.com/subject/fngzmqtx.html