3

正如标题所示,我在状态中的活动指示器不会停止动画。

我在这里做了一些研究,不知道我做错了什么......

在我的应用程序委托中,我有

- (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 回答