4

したがって、HTMLコンテンツを含むWebビューを含むビューがあります。これはそれを表示するための私のコードです:

NSURL *url = [NSURL URLWithString:urlWeb];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[vue loadRequest:request];
vue.scalesPageToFit = YES;

これはうまく機能します。ただし、もちろん、HTMLコンテンツが表示されるまでに少し待ち時間があります。この時点で、UIActivityIndi​​catorを表示したいと思います。

私は使用しなければならないことを知っています:

[myActivityIndicator startAnimating];
[myActivityIndicator stopAnimating];

私が見逃している唯一のことは、HTMLコンテンツが完全にロードされたことを知る方法です。

アドバイスありがとうございます!

4

3 に答える 3

12

それを知るために実装できるプロトコル、UIWebViewDelegateがあります。メソッドwebViewDidFinishLoadを実装すると、コンテンツが完全に読み込まれたことを知ることができます。

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

[activityIndicator startAnimating];

NSURL *url = [NSURL URLWithString:urlWeb];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[vue loadRequest:request];
vue.scalesPageToFit = YES;

そしてここにプロトコルメソッドがあります

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [activityIndicator stopAnimating];
}

リクエストをロードする前に、クラスをUIWebViewのデリゲートとして設定することを忘れないでください。

于 2012-06-19T07:46:08.467 に答える
3

UIWebViewDelegate方法では、

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    [myActivityIndicator stopAnimating];
    //myActivityIndicator.hidden = YES;
}
于 2012-06-19T07:42:58.487 に答える
2

UIWebViewデリゲートのdidFinishLoadingメソッドを使用できます。詳細はこちら:UIWebViewがイベントの読み込みを終了しました。もちろん、 Appleではhttp://developer.apple.com/library/ios/documentation/uikit/reference/UIWebViewDelegate_Protocol/Reference/Reference.html

于 2012-06-19T07:43:59.577 に答える