0
我正在編寫一個可重用的UIWebView
控制器,並希望從使用委託shouldStartLoadWith函數並重寫它,但我不知道如何去做。Swift UIWebView委託使用並覆蓋shouldStartLoadWith
在我可重用的UiWebView
控制器我有這個。
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let docURLStr = request.mainDocumentURL!.absoluteString
if docURLStr.contains("login") {
loadLoginView()
return false
}
然後在我的子類中我想要做以下但我想使用這兩個函數。我該怎麼做?
override func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
let docUrl = request.url!.absoluteString
if String(describing: docUrl).range(of: "some string in the url") != nil{
return true
} else {
return false
}
}
我需要我的超級優先於可能測試多個字符串的孩子。具體而言,它需要檢查加載的Web視圖中的登錄鏈接。 – markhorrocks
爲了讓你的超級優先,你不能簡單地說'return super.webView(...)|| load'? – thm
好吧,對於許多字符串測試,我可以創建負載作爲一個變種,然後按照你的建議做? – markhorrocks