Comment puis-je faire des liens à l'intérieur d'une webview ouvrir dans safari dans Xcode?
J'ai une webview dans mon application, et je voudrais que tous les liens du web pour l'ouvrir dans safari au lieu de la vue web lui-même.
Je suis le codage de l'application de swift, et ont vu de certaines réponses pour objective-c, mais aucun pour swift.
Quelqu'un sait comment je peux faire?
OriginalL'auteur Kian Cross | 2015-02-18
Vous devez vous connecter pour publier un commentaire.
C'est fait, essentiellement, de la même manière rapide en Obj-C:
D'abord, déclarer que votre vue-contrôleur est conforme à
UIWebViewDelegate
Puis de mettre en œuvre
webViewShouldStartLoadingWithRequest:navigationType:
dans votre Vue-Contrôleur:Enfin, définissez votre
UIWebView
déléguée, par exemple, dansviewDidLoad
ou dans votre Storyboard:class MyViewController: UIWebViewDelegate
. Que dois-je faire avec cela? MerciEn Swift, vous pouvez déclarer que votre classe est conforme à un protocole en ajoutant le nom de protocole après le nom de la classe (voir les docs). Dans votre cas, il sera probablement ressembler à quelque chose comme
class MyViewController: UIViewController, UIWebViewDelegate { ...stuff in the class... }
Merci @RonaldMartin, Il fonctionne comme un charme, merci beaucoup
Comment obtenir le même avec WebKit?
OriginalL'auteur Ronald Martin
Mis à jour pour swift 3
OriginalL'auteur Femi Loki
Vous avez besoin pour mettre en œuvre la méthode
webViewShouldStartLoadingWithRequest:navigationType
sur votre site web en vue du délégué et les liens que vous souhaitez ouvrir dans Safari. Si vous les envoyer hors de l'OS avec[[UIApplication sharedApplication]openURL:]
ils vont ouvrir dans Safari.OriginalL'auteur jefflovejapan