用于Web浏览器的NVActivityindicator

时间:2014-03-06 10:04:25

标签: macos cocoa webview

我想要一个循环活动指示符,它应该在Web视图开始加载时出现,并在加载完成时消失

我试过了

-(void)WebViewDidStartLoad;(NSURL*)
 {
        [NSProgressIndicator startanimation:self];
 }

请帮助我输入.h和.m

1 个答案:

答案 0 :(得分:0)

你要做的第一件事是在storyboard / xib / viewController(你正在使用的任何东西)中添加一个UIActivityIndi​​catorView(这是iOS中的标准加载动画)。

然后,在UIWebViewDelegate的.m文件中,您应该执行以下操作:

- (void) viewDidLoad {
    [super viewDidLoad];

    // Instantiate here your activity view if you're creating it programmatically
    // Then hide it, the user must not see it if web view is not loading
    self.activityIndicatorView.hidden = true;
    self.activityIndicatorView.hidesWhenStopped = true; // It will hide when animation is stopped
}

- (void)webViewDidStartLoad:(UIWebView *)webView {
    self.yourActivityIndicatorView.hidden = false;
    [self.yourActivityIndicatorView startAnimating]; 
}

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [self.yourActivityIndicatorView stopAnimating]; // It will hide automatically
}

在我的情况下,我习惯将它添加到UIView中,这样我就可以添加加载消息(或其他任何东西)。当我开始/停止动画时,我还显示/隐藏相应的视图。 在这里,您可以找到有关UIWebViewDelegate的更多信息,此处有关于UIActivityIndicatorView的详细信息。