正如标题所示,我的活动指示器状态不会停止动画。
我在这里做了一些研究,不知道我做错了什么......
在我的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;
}
}
任何建议表示赞赏
答案 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视图的本地声明/句柄具有相同的名称