iOS中WKWebView仿微信加载进度条
本文实例为大家分享了WKWebView仿微信加载进度条的具体代码,供大家参考,具体内容如下
WKWebView添加了estimatedProgress属性(double类型),我们可以利用该属性来设置UIProgressView
github代码仓库上存放的Demo
为页面添加UIProgressView属性
@property(nonatomic,strong)WKWebView*mywebView; @property(nonatomic,strong)UIProgressView*progressView;//设置加载进度条
懒加载UIProgressView
-(UIProgressView*)progressView{
if(!_progressView){
_progressView=[[UIProgressViewalloc]
initWithProgressViewStyle:UIProgressViewStyleDefault];
_progressView.frame=CGRectMake(0,64,screen_width,5);
[_progressViewsetTrackTintColor:[UIColorcolorWithRed:240.0/255
green:240.0/255
blue:240.0/255
alpha:1.0]];
_progressView.progressTintColor=[UIColorgreenColor];
}
return_progressView;
}
在初始化WKWebView时(我是在懒加载时)kvo添加监控
[_mywebViewaddObserver:self forKeyPath:NSStringFromSelector(@selector(estimatedProgress)) options:0 context:nil];
页面开始加载时,隐藏进度条
//开始加载
-(void)webView:(WKWebView*)webView
didStartProvisionalNavigation:(WKNavigation*)navigation{
//开始加载的时候,让进度条显示
self.progressView.hidden=NO;
}
kvo监听进度
//kvo监听进度 -(void)observeValueForKeyPath:(NSString*)keyPath ofObject:(id)object change:(NSDictionary*)change context:(void*)context{ if([keyPathisEqualToString:NSStringFromSelector(@selector(estimatedProgress))] &&object==self.mywebView){ [self.progressViewsetAlpha:1.0f]; BOOLanimated=self.mywebView.estimatedProgress>self.progressView.progress; [self.progressViewsetProgress:self.mywebView.estimatedProgress animated:animated]; if(self.mywebView.estimatedProgress>=1.0f){ [UIViewanimateWithDuration:0.3f delay:0.3f options:UIViewAnimationOptionCurveEaseOut animations:^{ [self.progressViewsetAlpha:0.0f]; } completion:^(BOOLfinished){ [self.progressViewsetProgress:0.0fanimated:NO]; }]; } }else{ [superobserveValueForKeyPath:keyPath ofObject:object change:change context:context]; } }
在dealloc方法里移除监听
-(void)dealloc{
[self.mywebViewremoveObserver:self
forKeyPath:NSStringFromSelector(@selector(estimatedProgress))];
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
7 简短的二胎祝福语
10 简短霸气女儿生日 祝福语
11 祝福语高考小众诗句简短
12 元旦祝福语20秒简短
13 老师过年祝福语大全 简短
14 一生祝福语简短
15 产检祝福语简短霸气
16 朋友店开张祝福语简短
17 生日爱情祝福语大全简短
18 朋友女儿生日祝福语 简短