学习--WebKit(WKUIDelegate)

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

WebKit(展示Web界面)

WebKit(WKScriptMessageHandler)

WebKit(WKUIDelegate)

WebKit(WKNavigationDelegate)

WebKit(刷新)

WebKit(导航)

WebKit(浏览记录)

WebKit(进度条)

在上一篇《WebKit(WKScriptMessageHandler)》博文中,最后我们运行项目后,发现并没有在app上看见alert弹出框,其实这不是一个bug。而是苹果WebKit库的又一升级。

WebKit考虑web页面的各种弹出框样式,如alert弹出框、Confirm选择框和TextInput输入框。WebKit为了让我们开发人员可以根据自己APP的风格设计各种不同的样式。对这些弹出框进行了封装。

这一列的操作都是基于WKUIDelegate协议实现的,本篇博文将为大家讲解WKUIDelegate协议。

1 改造index.html页面

要实现这三个弹出框,我们先改造我们前面用到的index.html页面,使其支持alert弹出框、Confirm选择框和TextInput输入框。

下面是所有源码,复制替换即可。

运行项目,看见如下效果图。

当然此时你点击这三个按钮是没有任何效果的,我们还没有实现WKUIDelegate协议。

2 WKUIDelegate协议

WKUIDelegate就是为了UI元素存在的,其中有几个协议。

3 实现WKUIDelegate

下面就来实现这几个协议,让我们的项目完整起来。

3.1 引入WKUIDelegate

在YJBaseVC.m上添加WKUIDelegate实现。

@interfaceYJBaseVC()

3.2 设置WKUIDelegate代理

修改- (WKWebView *)webView方法。

3.3 实现WKUIDelegate协议

在YJBaseVC.m添加如下方法。

这里使用UIAlertController为大家展示这种效果,运行项目点击页面上的三个按钮即可看到相应的效果图。

到这里关于WebKit基础部分就讲解完毕了,已支持市面上大多数的需求。后面会讲解关于WebKit的高级应用,模拟浏览器操作。

其他

源代码

Objective-C

参考资料

WebKit Framework Reference

WKWebView的新特性与使用

WKWeb​View

上一篇下一篇

猜你喜欢

热点阅读