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:
Alles anzeigen
Danke für einoge Tipps oder auch beispiele, ich stehe echt auf dem Schlauch.
gruss Grischabock
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
- import UIKit
- import WebKit
- class ViewController: UIViewController {
- var webView: WKWebView!
- var popupWebView: WKWebView?
- var urlPath: String = "https://domain.tld"
- open override func viewDidLoad() {
- super.viewDidLoad()
- setupWebView()
- loadWebView()
- }
- func setupWebView() {
- let preferences = WKPreferences()
- preferences.javaScriptCanOpenWindowsAutomatically = true
- let configuration = WKWebViewConfiguration()
- configuration.preferences = preferences
- webView = WKWebView(frame: view.bounds, configuration: configuration)
- webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
- webView.uiDelegate = self
- webView.navigationDelegate = self
- view.addSubview(webView)
- }
- func loadWebView() {
- if let url = URL(string: urlPath) {
- let urlRequest = URLRequest(url: url)
- webView.load(urlRequest)
- }
- }
- }
- extension ViewController: WKUIDelegate {
- func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
- popupWebView = WKWebView(frame: view.bounds, configuration: configuration)
- popupWebView!.autoresizingMask = [.flexibleWidth, .flexibleHeight]
- popupWebView!.navigationDelegate = self
- popupWebView!.uiDelegate = self
- view.addSubview(popupWebView!)
- return popupWebView!
- }
- func webViewDidClose(_ webView: WKWebView) {
- webView.removeFromSuperview()
- popupWebView = nil
- }
- }
- extension ViewController: WKNavigationDelegate {
- open func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
- }
- func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
- }
- }
Danke für einoge Tipps oder auch beispiele, ich stehe echt auf dem Schlauch.
gruss Grischabock
Gruss Grischabock