0

ナビゲーションコントローラーに UIWebView があります。xml ファイルから html を取得し、html を表示します。html には、 を介してローカル画像を取得するためのコードが含まれています<img src="image.png" />。iPhone シミュレーターでは、UIWebView はテキストと画像を同時に表示します。ただし、iPad では大きな遅延があります。

画像の読み込みを待っています...

数秒後、画像が読み込まれます。

ついにロード!

この厄介な遅延を取り除くにはどうすればよいですか?

コード:

NSString *html = [NSString stringWithFormat:@"Blah blah %@ <img src='image.png'> %@", [self.questionsAndAnswers objectAtIndex:0], [self.questionsAndAnswers objectAtIndex:1]];
[webView loadHTMLString:html baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

UIWebView は Storyboard 経由で接続されます。

編集:私のコメントにもかかわらず、これは実際にはどの画像でも発生します。他のhtmlなしで基本的なUIWebViewにロードしてみました!

4

1 に答える 1

2

試してみるいくつかのこと:

  • HTML をプリロードします (オンザフライで生成する必要がない場合に便利です)。
  • 画像をプリロードする (キャッシュするため)
  • キャッシュがオフになっていることを確認する
  • 大量の画像処理(サイズ変更など)が行われていないことを確認してください
  • 画像が大きすぎないことを確認してください (おそらく 100k を超えるものはすべてチェックする必要があります)
  • 他のすべてが失敗した場合は、パーツをゆっくりと削除するか、ビューを少しずつ再構築して、最小限の例を作成してみてください
于 2012-04-14T03:47:29.023 に答える