3

タイトルが示すように、ステータスのアクティビティ インジケーターのアニメーションが停止しません。

ここでいくつかの調査を行いましたが、何が間違っているのかわかりません...

私の Apps デリゲートには

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{


UIApplication* app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = NO;

ビュー Controller.m で、アクティビティ インジケーターを呼び出したい

 NSString *web = @"http://google.com";
    NSURL *url = [NSURL URLWithString:web];
    NSURLRequest *requestUrl = [NSURLRequest requestWithURL:url];
    [toweb loadRequest:requestUrl];

    UIApplication* app = [UIApplication sharedApplication];

     app.networkActivityIndicatorVisible = YES; <<<<<<<<<<<<<<<<<<<<<

今、それを再び隠そうとしている問題があります:

- (void)DidFinishLoad:(UIWebView *)toweb{
 [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
 }    

}

アドバイスをいただければ幸いです

4

1 に答える 1

6

UIWebViewDelegateメソッド名が間違っているようです。

-(void)webViewDidFinishLoad:(UIWebView *)webView {
      [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}

いいえ

- (void)DidFinishLoad:(UIWebView *)toweb{
     [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
}    

したがって、UIWebViewがデリゲート メソッドを呼び出そうとすると、メソッド宣言がないため、Web ビューの読み込みが完了したことがクラスに通知されません。

また、クラスをデリゲートとして設定していることを確認してください

toweb.delegate = self

そしてあなたの.hファイルに

@interface viewcontroller : UIViewController <UIWebViewDelegate>

デリゲート コールバック メソッドでは、webViewパラメーターは読み込みが完了した WebView への参照であることに注意してください (この場合は、呼び出したものですtoweb)。これは同じオブジェクトへののポインターUIWebViewであるため、指定する必要はありません。 Web ビューへのローカル宣言/ハンドルと同じ名前

于 2012-08-09T14:45:45.070 に答える