2011-01-17 29 views
0

私はこの回答で助けを必要としていますUIWebView - How to identify the "last" webViewDidFinishLoad message?この関数をどのように宣言しますか?

webViewLoads _ ++をどのように宣言しますか?およびwebViewLoads _--;次のコードで:.hファイルでint webViewLoads_;

- (void)webViewDidStartLoad:(UIWebView *)webView { 
    webViewLoads_++; 
} 


- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    webViewLoads_--; 

if (webViewLoads_ > 0) { 
return; 
} 

… 
} 

おかげ

答えて

1

はint型のインスタンス変数にする必要があります。

+0

Works、ありがとうございます! – 0SX

1

最も簡単な方法はwebViewDidStartLoad:の上、ご.M(実装)ファイルにintを宣言することです:

int webViewLoads_ = 0;

は最後のロードが完了したときにこれを0にリセットすることを忘れないでください:

webViewLoads_--; 
if (webViewLoads_ > 0) 
{ 
    return; 
} 
webViewLoads_ = 0; 
+0

+1アドバイスをいただきありがとうございます。 – 0SX

+0

ユーザーが読み込みプロセスを停止した場合は、これもゼロにリセットする必要があります。 –

0

デリゲートメソッドを使用して、Webビューが実際に「完了」したことを確認できます。

webView:didFinishLoadForFrame: 
+0

これはノブの質問ですが、どこに置くのですか?私は次のようにします: - (void)didFinishLoadForFrame:(UIWebView *)webView { – 0SX

+0

UIKit(つまり、iOS)にはありません。 –

+0

@Alan、それは私がiOS Docsでそれを見たことがない理由です。 ;-) – 0SX

関連する問題