webview加载时如何隐藏progressview
Posted
技术标签:
【中文标题】webview加载时如何隐藏progressview【英文标题】:how to hide progressview when webview load 【发布时间】:2012-12-26 09:58:30 【问题描述】:嗨,我想问一个简单的问题,当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;
【问题讨论】:
【参考方案1】:首先将委托添加到 UIWebView 添加进度条:- Web 视图委托方法:-
- (void)webViewDidStartLoad:(UIWebView *)webView
threadProgressView.hidden = NO;
对于删除进度条:- Web 视图委托方法:-
- (void)webViewDidFinishLoad:(UIWebView *)webView
threadProgressView.hidden = YES;
希望对你有帮助
【讨论】:
我将进度条添加为 webivew 的子视图 那么您可以在 hidden=NO 时使用 addSubView 并在 hidden=YES 时使用 removeFromSuperView; 伙计们,我想问你另一个问题作为这些按钮的背景,当有人点击这些图片中的任何一张时,它将在下一个视图控制器上显示更大的图像。我的意思是说这是我使用按钮在滚动视图中添加图像的正确方式 有许多第三方库可用,这将使您的工作更轻松。访问cocoacontrols.com,在这里只需搜索,您将找到任何免费的图书馆。此外,您可以按照您说的方式进行,但请记住在放置到您的按钮之前减小图像的大小。【参考方案2】:检查您的 webview 是否已完全加载。
if(!yourWebView.loading)
[yourProgress removeFromSuperView];
加载中
一个布尔值,指示接收器是否已完成加载 内容。 (只读)
@property(nonatomic, readonly, getter=isLoading) BOOL loading
>讨论
如果是,接收方仍在加载内容;否则,否。 可用性
Available in ios 2.0 and later.
或
您可以实现 UIWebView 的webViewDidFinishLoad
委托方法。
- (void)webViewDidFinishLoad:(UIWebView *)webView
[yourProgress removeFromSuperView];
webViewDidFinishLoad:
在 Web 视图完成加载框架后发送。
- (void)webViewDidFinishLoad:(UIWebView *)webView
参数
网络视图
The web view has finished loading.
可用性
Available in iOS 2.0 and later.
更多详情请参考UIWebViewDelegate,UIWebView
【讨论】:
以上是关于webview加载时如何隐藏progressview的主要内容,如果未能解决你的问题,请参考以下文章
android中webview 怎么实现网页加载时显示加载进度
我正在使用带有 WebView 的 LinearProgressIndicator 来显示网页渲染进度,当进度动画达到 100 时如何隐藏它?