学习---WebKit(进度条)

2017-09-21  本文已影响45人  F麦子

WebKit(展示Web界面)

WebKit(WKScriptMessageHandler)

WebKit(WKUIDelegate)

WebKit(WKNavigationDelegate)

WebKit(刷新)

WebKit(导航)

WebKit(浏览记录)

WebKit(进度条)

仿照qq或微信的进度条,我们也为我们的浏览器添加进度条功能。

1 WKWebView相关属性

在WKWebView就有一个关于网页加载进度的属性。

// 网络加载进度0~1

@property (nonatomic,readonly) double  estimatedProgress;

我们所要做的是使用KVO监听这个属性,然后显示到进度条上。

2 创建进度条

这里我们就是使用控件UIProgressView创建一个进度条,你还可以自行设计更精美的进度条。

2.1 强引用进度条

由于我们需要时刻更新进度条的数据,故我们使用强引用,设置进度条。

@property(nonatomic,strong) UIProgressView *progressView;///< 进度条

2.2 懒加载进度条

我们使用懒加载的方式加载进度条。实现get方法。

3 KVO实现进度条

3.1 KVO监听

在viewDidLoad()中,我们监听WKWebView的estimatedProgress属性。

3.2 KVO回调实现

所有类的KVO回调都是实现- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context方法。

添加方法。

在这里我们分别判断了初始和终止状态,在终止状态我们会1秒后隐藏progressView;初始状态再显示。

到这里WebKit框架的讲解就完毕了,希望给你带来帮助。

其他

源代码

Objective-C

参考资料

WebKit Framework Reference

上一篇下一篇

猜你喜欢

热点阅读