WebView PopUp und schliessen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • WebView PopUp und schliessen

    Hallo Zusammen

    Bin seit einigen Jahren raus und fange so ziemlich wider bei 0 an, nun habe ich eine kleiner App erstelt die einfach eine Webanwendung mit einer WebView darstellt. Klappt auch alles wunderbar nur habe ich das Problem dass die Webanwendung über einen Menüpunkt eigentlich ein PopUp öffnet. Bei mir öffnet sich aber kein PopUp, wie müsste ich da vorgehen?

    Weiters denke ich wird noch das Problem sein dass das PopUp keinen zurück oder schliessen Befehl hat, kann ich also irgendwie PopUps in einen neuen View packen oder ähnliches?

    Aktuell sieht mein ViewController so aus:

    Quellcode: ViewController.swift

    1. import UIKit
    2. import WebKit
    3. class ViewController: UIViewController {
    4. var webView: WKWebView!
    5. var popupWebView: WKWebView?
    6. var urlPath: String = "https://domain.tld"
    7. open override func viewDidLoad() {
    8. super.viewDidLoad()
    9. setupWebView()
    10. loadWebView()
    11. }
    12. func setupWebView() {
    13. let preferences = WKPreferences()
    14. preferences.javaScriptCanOpenWindowsAutomatically = true
    15. let configuration = WKWebViewConfiguration()
    16. configuration.preferences = preferences
    17. webView = WKWebView(frame: view.bounds, configuration: configuration)
    18. webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    19. webView.uiDelegate = self
    20. webView.navigationDelegate = self
    21. view.addSubview(webView)
    22. }
    23. func loadWebView() {
    24. if let url = URL(string: urlPath) {
    25. let urlRequest = URLRequest(url: url)
    26. webView.load(urlRequest)
    27. }
    28. }
    29. }
    30. extension ViewController: WKUIDelegate {
    31. func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
    32. popupWebView = WKWebView(frame: view.bounds, configuration: configuration)
    33. popupWebView!.autoresizingMask = [.flexibleWidth, .flexibleHeight]
    34. popupWebView!.navigationDelegate = self
    35. popupWebView!.uiDelegate = self
    36. view.addSubview(popupWebView!)
    37. return popupWebView!
    38. }
    39. func webViewDidClose(_ webView: WKWebView) {
    40. webView.removeFromSuperview()
    41. popupWebView = nil
    42. }
    43. }
    44. extension ViewController: WKNavigationDelegate {
    45. open func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
    46. }
    47. func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    48. }
    49. }
    Alles anzeigen

    Danke für einoge Tipps oder auch beispiele, ich stehe echt auf dem Schlauch.
    gruss Grischabock
    Gruss Grischabock