WebKit(WKScriptMessageHandler)
在上一篇《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的高级应用,模拟浏览器操作。