WKWebView - WKUIDelegate介紹7

weixin_33785972發表於2018-11-26

web view的使用者介面代理
這個類提供用於代表網頁呈現本機使用者介面元素的方法
Web檢視使用者介面委託實現此協議來控制新視窗的開啟,增加使用者單擊元素時顯示的預設選單項的行為,並執行其他與使用者介面相關的任務。這些方法可以通過處理JavaScript或其他外掛內容來呼叫。預設的Web檢視實現假設每個Web檢視有一個視窗,所以非常規的使用者介面可能實現使用者介面委託

從名稱能看出它是webViewuser interface上的代理,共有5個可選型別的代理方法。它為webView提供了原生的彈框,而不是JavaScript裡的提示框。
雖然JavaScriptv的提示框可以做的跟原生一樣,但是對於ios開發者來說,如果要更改提示框就不方便了。提供這個代理,可以讓ios`端更加靈活的修改提示框的樣式

1 Creating a Web View 建立一個新的web view

1.1 webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:

相關解釋

2 Displaying UI Panels 顯示UI皮膚

2.1 webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:

Alert警告框

2.2 webView:runJavaScriptConfirmPanelWithMessage:initiatedByFrame:completionHandler:

Confirm確認框

2.3 webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:

prompt 輸入框

3 Closing a Web View 關閉web view

3.1 webViewDidClose:

webview關閉時回撥

4 Displaying the Upload Panel 顯示上傳皮膚

顯示上傳皮膚

5 Responding to Force Touch Actions