如何在webview加载时隐藏进度视图

时间:2012-12-26 09:58:30

标签: iphone objective-c ios uiwebview uiprogressbar

嗨我想问一个简单的问题,如何在UIWebView加载时隐藏或停用进度条,我将ProgressBar添加为subview webview。我在下面的方法中使用这种方式做到了,但它无法帮助我,因为每个网站因内容大小而需要加载不同的时间,所以请告诉我如何隐藏或删除ProgressBar网站加载webview

- (void)makeMyProgressBarMoving {  

    float actual = [threadProgressView progress];  

    if (actual < 1) {  
        threadProgressView.progress = actual + 0.2;  
        [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(makeMyProgressBarMoving) userInfo:nil repeats:NO];  
    }  
    else
    {
        threadProgressView.hidden = YES;
        threadValueLabel.hidden = YES;
    }
} 

2 个答案:

答案 0 :(得分:2)

首先将委托添加到UIWebView 添加进度条: - Web视图委托方法: -

- (void)webViewDidStartLoad:(UIWebView *)webView
{
    threadProgressView.hidden = NO;
}

删除进度条: - Web视图委托方法: -

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    threadProgressView.hidden = YES;
}

希望这有助于你

答案 1 :(得分:0)

检查您的网页浏览是否完整加载。

if(!yourWebView.loading)
{
   [yourProgress removeFromSuperView];
}
  

<强>装载

     

一个布尔值,指示接收器是否已完成加载   内容。 (只读)@property(nonatomic, readonly, getter=isLoading) BOOL loading&gt;

     

<强>讨论

     

如果是,接收方仍在加载内容;否则,不。   可用性

Available in iOS 2.0 and later.

您可以实现UIWebView的webViewDidFinishLoad委托方法。

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
   [yourProgress removeFromSuperView];
}
  

<强> webViewDidFinishLoad

     

在Web视图完成加载框架后发送。   - (void)webViewDidFinishLoad:(UIWebView *)webView

     

<强>参数

     

webView的

The web view has finished loading.
     

状况

Available in iOS 2.0 and later.

有关详细信息,请参阅UIWebViewDelegateUIWebView