0

すべて正常に動作しますが、uiwebview がロードを完了しないことがあります。ときどき uiwebview が応答を待ち、ロードを終了しないことがあると思います。誰かがよく知っている問題を抱えていましたか?

はい、次の方法を実装しました。

- (void)webViewDidStartLoad:(UIWebView *)webView 
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
- (void)webViewDidFinishLoad:(UIWebView *)webView

はい、デリゲートを設定しました。私が言ったように、すべて正常に動作しますが、ロードが完了しない場合があり、エラーは発生しません。

- (void)myTimer:(NSTimer *)timer
{
  NSLog(@"WV=%@ delegate=%@ isLoading=%d", self.webView, self.webView.delegate,      self.webView.isLoading);
}

それは常に印刷されます:

[378:c07] WV=UIWebView: 0x755f690; フレーム = (0 0; 320 416); 自動サイズ変更 = W+H; レイヤー = CALayer: 0x755f6f0>> デリゲート = MainViewController: 0x755b130> isLoading=1;

また、キャッシュポリシーを設定して無効にしようとしました。役に立ちませんでした。htmlフレームの問題でしょうか?読み込み中に Web ページの一部の要素が消えます (Web ページが読み込まれたときに発生しますが、通常は要素が消えた後に新しいページが表示されますが、この場合は表示されません)。

4

1 に答える 1

2

実装しましたdidFailLoadWithError:か?すべてのデリゲート メソッドを実装し、さまざまなメソッドをログに記録して、何が起こるかを確認します。

編集:したがって、数秒ごとに起動するスケジュール NSTimer を使用し、次のログを記録します。

  • ウェブビュー オブジェクト
  • 代理人
  • webViewloadingプロパティ

コードは次のとおりです。

- (void)myTimer:(NSTimer *)timer
{
  NSLog(@"WV=%@ delegate=%@ isLoading=%d", self.webView, self.webView.delegate, self.webView.isLoading);
}

少なくとも 10 分間実行してから (外に出てコーヒーを飲みます)、ここで報告してください。すべての情報が長時間 (10 分など) 印刷される場合、ここに URL を投稿できれば大きな助けになるので、他の人が問題を再現しようとすることができます。

于 2013-05-14T14:33:09.773 に答える