objective-c - 状态栏中的事件指示器不会停止动画

标签 objective-c ios xcode uiactivityindicatorview

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

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

在我的 Apps 委托(delegate)中有

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


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

在我的view controller.m中我想调用activity indicator

 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;
 }    

}

感谢任何建议

最佳答案

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

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

不是

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

因此当 UIWebView尝试调用其委托(delegate)方法,但没有方法声明,因此您的类不会收到 Web View 已完成加载的通知。

还要确保您已将您的类(class)设置为委托(delegate)

toweb.delegate = self

在你的 .h 文件中

@interface viewcontroller : UIViewController <UIWebViewDelegate>

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

关于objective-c - 状态栏中的事件指示器不会停止动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11885897/

相关文章:

iphone - 从 MVC (iOS) 中的异步操作返回结果

iphone - 禁用 MFMailComposeViewController 上的编辑

ios - 如何使用带有 Xcode 7.1.1 的 iOS 9 创建 LaunchImage?

ios - 以编程方式更改 NIB 复选框

ios - SKEmitterNode的粒子生命周期到底是什么?

iphone - 如何在 Objective-C 中解析包含 XML 的 NSString?

iOS - 在内存中保存用户最喜欢的对象列表的最佳方式

iphone - 异步无状态API

iphone - 从提要中填充 UIPickerView

ios - 图像 Assets 在 iOS 中无法正常工作 [大问题]