将 html 文件从资源加载到 UIWebView 的正确方法?

发布于 2024-12-15 14:57:52 字数 372 浏览 1 评论 0原文

我认为将 html 文件从我的资源加载到 UIWebView 中会很容易,但看起来它需要一些额外的东西,而我没有做。到目前为止,我的控制器中有 viewDidLoad:

NSURL *url = [NSURL URLWithString:@"radialGradient.html"];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[webView loadRequest:req];

webView.frame = CGRectMake(0, 0, 768, 1024);    

我已经尝试过常规网址(google.com)并且工作正常。但对于我的源文件中的文件,它只会呈现白色的空白屏幕。

I thought it would be easy to load in a html file from my resources into a UIWebView, but it looks like it requires something extra that I'm not doing. So far I have in my viewDidLoad in my controller:

NSURL *url = [NSURL URLWithString:@"radialGradient.html"];
NSURLRequest *req = [NSURLRequest requestWithURL:url];
[webView loadRequest:req];

webView.frame = CGRectMake(0, 0, 768, 1024);    

I've tried regular web addresses (google.com) and it works fine. But with the file in my sources it just renders a white blank screen.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

倒数 2024-12-22 14:57:52

有两件事:

1)

你现在拥有的不是 URL。这只是一个文件名。您需要在 RadialGradient.html 前面添加一个“file:///”。

2)

而且,您可能还需要放入 RadialGradient.html 的可解析路径,现在您的应用程序不知道在哪里寻找它。

像这样的东西:

NSURL * resourcePathURL = [[NSBundle mainBundle] resourceURL];
if(resourcePathURL)
{
    NSURL * urlToLoad = [resourcePathURL URLByAppendingPathComponent: @"radialGradient.html"];
    if(urlToLoad)
    {
        NSURLRequest * req = [NSURLRequest requestWithURL: urlToLoad];
        [webView loadRequest: req];
    }
}

Two things:

1)

What you have now is not a URL. It's just a filename. You need to be prepending a "file:///" in front of that radialGradient.html.

2)

And, you'll likely also need to put in a resolvable path to radialGradient.html Right now your app doesn't know where to look for it.

Something like:

NSURL * resourcePathURL = [[NSBundle mainBundle] resourceURL];
if(resourcePathURL)
{
    NSURL * urlToLoad = [resourcePathURL URLByAppendingPathComponent: @"radialGradient.html"];
    if(urlToLoad)
    {
        NSURLRequest * req = [NSURLRequest requestWithURL: urlToLoad];
        [webView loadRequest: req];
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文