WKWebView ouvrir les liens de certains de domaine dans safari
La recherche d'un peu d'aide avec mon application iOS. Dans mon application je suis désireux d'ouvrir cliqué sur les liens de l'intérieur de mon domaine (EX: communionchapelefca.org) dans WKWebView et puis avoir les liens de tous les autres domaines (EX: google.com ouverts dans Safari. Je préfère pour ce faire progrmatically ainsi puisque c'est ce que mon code est déjà en place.
J'ai trouvé quelques solutions sur stackoverflow (ici, ici, ici, et ici), mais ils semblent tous être Obj-C et je suis à la recherche d'une solution à l'aide de Swift. merci à l'avance.
ViewController.swift:
import UIKit
import WebKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myWebView:WKWebView = WKWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height))
myWebView.loadRequest(NSURLRequest(URL: NSURL(string: "http://www.communionchapelefca.org/app-home")!))
self.view.addSubview(myWebView)
Vous devez vous connecter pour publier un commentaire.
Vous pouvez mettre en œuvre
WKNavigationDelegate
, ajouter ledecidePolicyForNavigationAction
méthode et de vérifier la navigationType et de l'url demandée. J'ai utilisé google.com ci-dessous, mais vous pouvez simplement changer de domaine:Xcode 8.3 • Swift 3.1 ou ultérieure
Pour Swift 3.0
Voici un exemple de code à partir de la réponse à la swift écrit en obj c.
Mon swift 3 solution:
N'oubliez pas de programme d'installation te délégué
Faire une fonction à décider où pour charger l'URL:
Utilisation:
Swift 4 mise à jour pour George Vardikos réponse:
Xcode 9.3, Swift 4
La source:
https://developer.apple.com/documentation/webkit/wkwebview