Ich habe einen Tab-Bar-Controller, der zwei verschiedene View-Controller hat - jeweils mit einem WKWebView.Zugriff auf WebView von einer anderen Klasse Swift 3
Dies ist in meinem WebViewController: (Ich kann grundsätzlich auf der Basis der URL entziffern, wenn ich die ID auf die andere webView zu werfen brauchen
HTMLSermonAudioController().webView.load(URLRequest(url: url))
das Teil Ich versuche das bekommen zuzugreifen. webView der anderen Klasse die URL einer Seite zu ändern, die bereits geladen ist.
if requestURL.absoluteString.hasPrefix("bocaudio://?url="){
let url = URL(string: "https://storage.googleapis.com/boc-audio/123.mp3")!
HTMLSermonAudioController().webView.load(URLRequest(url: url))
tabBarController?.selectedIndex = 3
}
ich habe auch versucht, die oben mit einer Klasse-Funktion innerhalb HTMLSermonAudioController und anderen verschiedenen Methoden verwenden, aber ich kann einfach nicht scheinen, Zugriff auf
import UIKit
import WebKit
class HTMLSermonAudioController: UIViewController, WKNavigationDelegate {
var webView: WKWebView!
override func loadView() {
webView = WKWebView()
webView.navigationDelegate = self
view = webView
let url = URL(string: "https://www.boc.domain/audioapp/290/")!
webView.load(URLRequest(url: url))
webView.allowsBackForwardNavigationGestures = true
}
class func test(){
let url = URL(string: "https://www.boc.domain/audioapp/290/")!
HTMLSermonAudioController().webView.load(URLRequest(url: url))
}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
title = webView.title
}
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
decisionHandler(.allow)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Da die webView in der Überschreibung func Loadview ist, ist es schwer für mich, darauf zuzugreifen. Gott sei Dank für hybride Apps, denn sobald ich diese letzte Hürde überwunden habe, muss ich mir keinen schnelleren Code mehr zulegen.