Как загрузить URL в UIWebView в Swift?


У меня есть следующий код:

UIWebView.loadRequest(NSURLRequest(URL: NSURL(string: "google.ca")))

Я получаю следующее сообщение об ошибке:

'NSURLRequest' не преобразуется в UIWebView.

есть идеи, в чем проблема?

15 55

15 ответов:

loadRequest: - это метод экземпляра, а не метод класса. Вы должны пытаться вызвать этот метод с экземпляром UIWebview в качестве получателя, а не сам класс.

webviewInstance.loadRequest(NSURLRequest(URL: NSURL(string: "google.ca")!))

однако, как правильно указывает @radex ниже, вы также можете воспользоваться currying для вызова функции следующим образом:

UIWebView.loadRequest(webviewInstance)(NSURLRequest(URL: NSURL(string: "google.ca")!))   

UIWebView в 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.
}

попробуйте это:

  1. добавить UIWebView для просмотра.

  2. подключите UIWebView outlet с помощью помощника редактора и назовите свой "webview".

  3. UIWebView загрузить URL.

    @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)
    }
    

и запустите приложение!!

Swift 3 больше не использует префикс NS на URL и URLRequest, поэтому обновленный код будет:

let url = URL(string: "your_url_here")
yourWebView.loadRequest(URLRequest(url: url!))

в Swift 3 Вы можете сделать это так:

@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)
}

Не забудьте добавить разрешения в Info.plist добавьте следующие значения:

Info.plist

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")!))

UIWebView loadRequest: создайте NSURLRequest с помощью объекта NSURL, затем передав запрос в webview он загрузит запрошенный URL-адрес в webview.

 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)
  }

для получения дополнительной информации http://sourcefreeze.com/uiwebview-example-using-swift-in-ios/

загрузка URL в WebView очень проста. Просто создайте веб-представление в раскадровке, а затем вы можете использовать следующий код для Загрузки url.

    let url = NSURL (string: "https://www.simplifiedios.net");
    let request = NSURLRequest(URL: url!);
    webView.loadRequest(request);

так просто, что только 3 строки кодов :)

Ref:Пример UIWebView

для Swift 3.1 и выше

let url = NSURL (string: "Your Url")
let requestObj = NSURLRequest(url: url as! URL);
YourWebViewName.loadRequest(requestObj as URLRequest)

легкий, испытанный и работая 100%

импорт webkit:

import WebKit

назначить IBOutlet webview:

var webView : WKWebView!

установить делегат:

class ViewController: UIViewController , WKNavigationDelegate{

написать код на 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)

написать делегат методы:

//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")
}

выглядеть: enter image description here

используется Webview на языке Swift

let url = URL(string: "http://example.com")
   webview.loadRequest(URLRequest(url: url!))

Swift 4 Update создание 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.load(myRequest)
}}
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)
 }

}

Попробуй Такое

let url = NSURL (string: "http://www.apple.com");
myWebView.loadRequest(NSURLRequest(URL: url!));