J'ai le code suivant:
UIWebView.loadRequest(NSURLRequest(URL: NSURL(string: "google.ca")))
Je reçois l'erreur suivante:
'NSURLRequest' n'est pas convertible en UIWebView.
Une idée du problème?
loadRequest: est une méthode d'instance, pas une méthode de classe. Vous devriez essayer d'appeler cette méthode avec une instance de UIWebview en tant que destinataire, pas avec la classe elle-même.
webviewInstance.loadRequest(NSURLRequest(URL: NSURL(string: "google.ca")!))
Cependant, comme @radex le souligne correctement ci-dessous, vous pouvez également profiter du curry pour appeler la fonction comme ceci:
UIWebView.loadRequest(webviewInstance)(NSURLRequest(URL: NSURL(string: "google.ca")!))
UIWebView dans Swift
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL (string: "url here")
let requestObj = URLRequest(url: url!)
webView.loadRequest(requestObj)
// Do any additional setup after loading the view.
}
Essaye ça:
Ajoutez UIWebView à la vue.
Connectez la sortie UIWebview à l'aide de l'éditeur et nommez votre "webview".
UIWebView URL de chargement.
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Your webView code goes here
let url = URL(string: "https://www.google.co.in")
let requestObj = URLRequest(url: url! as URL)
webView.load(requestObj)
}
Et lancez l'application !!
Swift 3 n'utilise plus le préfixe NS dans les URL et URLRequest. Le code mis à jour serait donc:
let url = URL(string: "your_url_here")
yourWebView.loadRequest(URLRequest(url: url!))
Dans Swift 3, vous pouvez le faire comme ceci:
@IBOutlet weak var webview: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Web view load
let url = URL (string: "http://www.example.com/")
let request = URLRequest(url: url!)
webview.loadRequest(request)
}
N'oubliez pas d'ajouter l'autorisation à Info.plist
, ajoutez les valeurs suivantes:
Swift 3 - Xcode 8.1
@IBOutlet weak var myWebView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
let url = URL (string: "https://ir.linkedin.com/in/razipour1993")
let requestObj = URLRequest(url: url!)
myWebView.loadRequest(requestObj)
}
Swift 3
@IBOutlet weak var webview: UIWebView!
webview.loadRequest(URLRequest(url: URL(string: "https://www.yourvideo.com")!))
Webview utilisée en langue rapide
let url = URL(string: "http://example.com")
webview.loadRequest(URLRequest(url: url!))
Le chargement de l'URL vers WebView est très simple. Créez simplement une WebView dans votre storyboard et vous pourrez utiliser le code suivant pour charger l’URL.
let url = NSURL (string: "https://www.simplifiedios.net");
let request = NSURLRequest(URL: url!);
webView.loadRequest(request);
Aussi simple que cela seulement 3 lignes de codes :)
Ref: Exemple UIWebView
UIWebView loadRequest: créez NSURLRequest à l'aide d'un objet NSURL, puis passez la demande à uiwebview
pour charger l'URL demandée dans la vue Web.
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let url = NSURL (string: "http://www.google.com");
let requestObj = NSURLRequest(URL: url!);
myWebView.loadRequest(requestObj);
self.view.addSubview(myWebView)
}
Pour plus de référence:
http://sourcefreeze.com/uiwebview-example-using-Swift-in-ios/
Pour Swift 3.1 et supérieur
let url = NSURL (string: "Your Url")
let requestObj = NSURLRequest(url: url as! URL);
YourWebViewName.loadRequest(requestObj as URLRequest)
Facile, testé et fonctionnel à 100%
Webkit d'importation:
import WebKit
Attribuer IBOutlet à la visualisation Web:
var webView : WKWebView!
définir le délégué:
class ViewController: UIViewController , WKNavigationDelegate{
Écrire du code sur viewDidLoad ():
// loading URL :
let myBlog = "https://stackoverflow.com/users/4600136/mr-javed-multani?tab=profile"
let url = NSURL(string: myBlog)
let request = NSURLRequest(URL: url!)
// init and load request in webview.
webView = WKWebView(frame: self.view.frame)
webView.navigationDelegate = self
webView.loadRequest(request)
self.view.addSubview(webView)
self.view.sendSubviewToBack(webView)
Écrire des méthodes de délégué:
//MARK:- WKNavigationDelegate
func webView(webView: WKWebView, didFailProvisionalNavigation navigation: WKNavigation!, withError error: NSError) {
print(error.localizedDescription)
}
func webView(webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
print("Strat to load")
}
func webView(webView: WKWebView, didFinishNavigation navigation: WKNavigation!) {
print("finish to load")
}
Dans Swift 4 ou 4.2 Vous pouvez utiliser comme:
Votre vue est comme ci-dessous:
import UIKit
import WebKit
class ViewController: UIViewController {
@IBOutlet weak var wkwebview: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let request = URLRequest(url: URL(string: "**your URL**")!)
wkwebview?.load(request)
}
}
Autoriser les charges arbitraires true info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>Allow Arbitrary Loads</key>
<true/>
</dict>
Note info.plist ressemblera à ci-dessous
Pour Swift 4.2
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
//Func Gose Here
let url = URL(string: link)
let requestObj = URLRequest(url: url! as URL)
webView.loadRequest(requestObj)
}
import UIKit
class ViewController: UIViewController{
@IBOutlet weak var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
//Func Gose Here
loadUrl()
}
func loadUrl(){
let url = URL(string: "Url which you want to load(www.google.com)")
let requestObj = URLRequest(url: url! as URL)
webView.load(requestObj)
}
}
Swift 4 Update Création d’un programme WebView.
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string: "https://www.Apple.com")
let myRequest = URLRequest(url: myURL!)
webView.loadRequest(myRequest)
}}