2

私はこのコードを持っています:

NSURL *mainBundleURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]];
[webView loadHTMLString:htmlFile baseURL:mainBundleURL];

htmlFile が正しいことはわかっています。それは内部にあります:

<link rel="stylesheet" type="text/css" href="stylesheet.css">

mainBundle の stylesheet.css も知っています。project.app の内容を確認しました。

問題は、webview が空であることです。しかし、ベース URL を nil として使用すると:

[webView loadHTMLString:htmlFile baseURL:nil];

webview にはコンテンツが表示されますが、css ファイルはありません。

なぜこれが機能しないのかわかりません。前もって感謝します。

4

3 に答える 3

3

resourceURL プロパティを使用してこれを解決しました

NSURL *baseURL = [[NSBundle mainBundle] resourceURL];

その後[webView loadHTMLString:htmlFile baseURL:baseURL];

-サル

于 2014-12-03T20:09:40.687 に答える
0

PerhabsshouldStartLoadWithRequestメソッドはリクエストをブロックします。これを試して:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    if ([request.URL.absoluteString hasPrefix:@"file"]) {return YES;}

    //deal with the request
}
于 2015-06-11T06:53:18.220 に答える