在封裝了MessageHandler 后,我更希望在實際應用的時候更加的便利
也就是封裝一個 WKWebViewController,期望在使用的時候只關注 action
期望的效果
- 調用 JS 方法 -> self.call(methodName)
- 調用 JS 方法 -> self.call(methodName, callBack)
- js 調用 APP方法 -> self.regist(methodName)
- js 調用 APP方法 -> self.regist(methodName, callBack)
欲實現以上的功能實際上就是講 MessageHandler 封裝到 WKWebViewController 中
想必看懂了 MessageHandler 后,如何封裝 WKWebViewController 每個人都有一種封裝方法,我這里展示出我的封裝(已經考慮到了絕大多數情況)
源碼已經在 KKWKWebViewController 中
附加功能
- js 可以更改原生的狀態欄style
- js 可以選擇 模態/Push 一個新的控制器
- js 可以設置返回箭頭的事件
- js 可以更改導航中背景、標題、按鈕的顏色
- APP 會自動提取 H5 title 作為當前頁面的標題(當然也有屬性控制是否提取)
- 可以在 KKWKWebViewController 外部設置狀態欄 style
源碼已經在 KKWKWebViewController 中