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

JSA*_*986 2 xcode objective-c uiactivityindicatorview ios

由于标题表明我的活动指标处于状态不会停止动画.

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

在我的Apps委托中,我有

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


UIApplication* app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = NO;
Run Code Online (Sandbox Code Playgroud)

在我的视图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; <<<<<<<<<<<<<<<<<<<<<
Run Code Online (Sandbox Code Playgroud)

现在继续问题我试图再次隐藏它:

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

}
Run Code Online (Sandbox Code Playgroud)

任何建议表示赞赏

Sam*_*low 6

看起来你的UIWebViewDelegate方法名称是错误的,它应该是

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

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

因此,当UIWebView尝试调用其委托方法时,没有方法声明,因此不会通知您的类Web视图已完成加载.

还要确保已将类设置为委托

toweb.delegate = self

并在您的.h文件中

@interface viewcontroller : UIViewController <UIWebViewDelegate>

请注意,在委托回调方法中,该webView参数是对已完成加载的webview的引用(在本例中是您调用的那个toweb)这是指向同一对象的不同指针UIWebView,因此它不需要与Web视图的本地声明/句柄同名