状态栏中的活动指示器不会停止动画

时间:2012-08-09 14:39:55

标签: objective-c ios xcode uiactivityindicatorview

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

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

在我的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;
 }    

}

任何建议表示赞赏

1 个答案:

答案 0 :(得分: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视图的本地声明/句柄具有相同的名称