0

webview でアプリ リソースのページと画像を表示するアプリケーションを開発しています。ページは問題なく動作しますが、iOS 5.1 では画像が表示されません。私が iOS 4.3 または iOS 6.0 でテストしているときは、すべてが魅力的に機能します。画像は正常に表示されています。その正確なシステム バージョンに何か問題があるようです。私が使用しているコードは次のとおりです。

NSString *imgPath = [[NSBundle mainBundle] pathForResource:currentImageName ofType:@"png"];
imgPath = [NSString stringWithFormat:@"%@%@",@"file://",imgPath];

content = [content stringByReplacingOccurrencesOfString: @"{}" withString:imgPath];
myData = [content dataUsingEncoding:NSUTF8StringEncoding];

[webView loadData:myData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];

内容はhtml付きの文字列です。myData は、html ファイルを含む NSData です。画像パスは正しく生成されます。前に述べたように、iOS 4.3 および 6.0 ではすべて正常に動作します。

iOS 5.1 エミュレーターでのデータの値は次のとおりです。

imgPath = file:///Users/deimos/Library/Application Support/iPhone Simulator/5.1/Applications/98C3911D-46D6-49B6-BADC-6B463619EF5E/myApplication.app/pl.lproj/image01.png

画像の URL を置き換える前のコンテンツ:

<body>
<center><img src="{}" /></center>
</body>

画像の URL を置き換えた後のコンテンツ:

<body>
<center><img src="file:///Users/deimos/Library/Application Support/iPhone Simulator/5.1/Applications/98C3911D-46D6-49B6-BADC-6B463619EF5E/myApplication.app/pl.lproj/image01.png" /></center>
</body>
4

1 に答える 1

0

問題の解決策を見つけました。行で:

[webView loadData:myData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@""]];

このメソッドに空の文字列を渡すのは間違っています。nil に置き換える必要があります。

[webView loadData:myData MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:nil]];

nil を使用すると、すべてのシステム バージョンですべて正常に動作します。

于 2012-11-19T06:23:53.713 に答える