如何在 Swift 中加载 UIWebView 中的 URL?

我有以下密码:

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

我得到了以下错误:

“ NSULRequest”不能转换为 UIWebView。

知道问题出在哪吗?

160902 次浏览

LoadRequest: 是一个实例方法,而不是一个类方法。您应该尝试使用 UIWebview 的实例作为接收方而不是类本身来调用此方法。

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

然而,正如@radex 在下面正确指出的那样,你也可以利用局部套用来调用这个函数:

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

Swift 5

webviewInstance.load(NSURLRequest(url: NSURL(string: "google.ca")! as URL) as URLRequest)

UIWebView loadRequest: 使用 NSURL 对象创建 NSULRequest,然后将请求传递给 uiwebview,它将把请求的 URL 加载到 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)
}

更多参考资料:

Https://sourcefreeze.com/uiwebview-example-using-swift-in-ios/

试试这个:

  1. 将 UIWebView 添加到视图。

  2. 使用助理编辑器连接 UIWebview 插座并命名为“ 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.example.com")
    let requestObj = URLRequest(url: url! as URL)
    webView.load(requestObj)
    }
    

And run the app!!

Swift 中的 UIWebView

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

/////////////////////////////////////////////////////////////////////// 如果你想使用 webkit

@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()


let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.webView.frame.size.height))
self.view.addSubview(webView)
let url = URL(string: "your URL")
webView.load(URLRequest(url: url!))`

将 URL 加载到 WebView 非常简单。只需在故事板中创建一个 WebView,然后您就可以使用下面的代码来加载 url。

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

就这么简单,只有3行代码:)

档号: UIWebView 示例

试试这个

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

适用于 Swift 3.1及以上版本

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

Swift 3在 URL 和 URLRequest 上不再使用 NS 前缀,所以更新的代码应该是:

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

斯威夫特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!


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

@IBOutlet weak var webview: UIWebView!
webview.loadRequest(URLRequest(url: URL(string: "https://www.yourvideo.com")!))

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.loadRequest(myRequest)
}}

简单,经过测试,100% 正常工作

导入网络工具包:

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! as URL)


// init and load request in webview.
webView = WKWebView(frame: self.view.frame)
webView.navigationDelegate = self
webView.load(request as URLRequest)
self.view.addSubview(webView)
self.view.sendSubview(toBack: 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

在 Swift 语言中的应用

let url = URL(string: "http://example.com")
webview.loadRequest(URLRequest(url: url!))
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.2,5 +

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


}

在 Swift 4或4.2中,你可以使用:

  1. 添加 WKWebView 并连接到您的视图控制器。
  2. 你的观点就像咆哮:

     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)
    
    
    }
    
    
    }
    
  3. Allow Allow Arbitrary Loads true info.plist

      <key>NSAppTransportSecurity</key>
    <dict>
    <key>Allow Arbitrary Loads</key>
    <true/>
    </dict>
    

    注意,info.plist 看起来像下面这样

enter image description here

你可以这样加载一个页面:

let url: URL = URL(string:"https://google.com")!
webView.loadRequest(URLRequest.init(url: url))

或者一句话的方法:

webView.loadRequest(URLRequest.init(url: URL(string: "https://google.com")!))

WebView 是您的插座变量。

在雨燕5号

import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string:"https://www.apple.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
}