فهرست منبع

open external links in system-browser

B. Petersen 5 سال پیش
والد
کامیت
535725386f
1فایلهای تغییر یافته به همراه15 افزوده شده و 1 حذف شده
  1. 15 1
      deltachat-ios/Controller/HelpViewController.swift

+ 15 - 1
deltachat-ios/Controller/HelpViewController.swift

@@ -1,10 +1,11 @@
 import UIKit
 import UIKit
 import WebKit
 import WebKit
 
 
-class HelpViewController: UIViewController {
+class HelpViewController: UIViewController, WKNavigationDelegate {
 
 
     private lazy var webView: WKWebView = {
     private lazy var webView: WKWebView = {
         let view = WKWebView()
         let view = WKWebView()
+        view.navigationDelegate = self
         return view
         return view
     }()
     }()
 
 
@@ -17,6 +18,19 @@ class HelpViewController: UIViewController {
         fatalError("init(coder:) has not been implemented")
         fatalError("init(coder:) has not been implemented")
     }
     }
 
 
+    func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
+        if navigationAction.navigationType == .linkActivated {
+            if let url = navigationAction.request.url,
+                url.host != nil,
+                UIApplication.shared.canOpenURL(url) {
+                UIApplication.shared.open(url)
+                decisionHandler(.cancel)
+                return
+            }
+        }
+        decisionHandler(.allow)
+    }
+
     // MARK: - lifecycle
     // MARK: - lifecycle
     override func viewDidLoad() {
     override func viewDidLoad() {
         super.viewDidLoad()
         super.viewDidLoad()