美文网首页
学习---WebKit(进度条)

学习---WebKit(进度条)

作者: F麦子 | 来源:发表于2017-09-21 18:00 被阅读45次

    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

    相关文章

      网友评论

          本文标题:学习---WebKit(进度条)

          本文链接:https://www.haomeiwen.com/subject/endtextx.html