web-dev-qa-db-ja.com

SwiftのUIWebViewでURLを読み込む方法は?

私は次のコードを持っています:

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

次のエラーが表示されます。

「NSURLRequest」はUIWebViewに変換できません。

問題が何であるか考えていますか?

60
User

loadRequest: は、クラスメソッドではなくインスタンスメソッドです。クラス自体ではなく、レシーバーとしてUIWebviewのインスタンスを使用してこのメ​​ソッドを呼び出そうとする必要があります。

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

ただし、@ radexは以下を正しく指摘しているため、カリー化を利用して次のような関数を呼び出すこともできます。

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

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.
}
31
hardik bar

これを試して:

  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.google.co.in")
       let requestObj = URLRequest(url: url! as URL)
       webView.load(requestObj)
    }
    

そしてアプリを実行します!!

27
Nagarjun

Swift 3はNSプレフィックスをURLおよびURLRequestで使用しないため、更新されたコードは次のようになります。

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

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

7
Camilo Ortegón

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)

        }
5

Swift

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

WebViewへのURLのロードは非常に簡単です。ストーリーボードでWebViewを作成するだけで、次のコードを使用してURLをロードできます。

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

それと同じくらい簡単な3行のコード:)

参照: IWebViewの例

4
Shaba Aafreen

UIWebView loadRequest:NSURLオブジェクトを使用してNSURLRequestを作成し、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)
  }

詳細については:

http://sourcefreeze.com/uiwebview-example-using-Swift-in-ios/

4

Swift言語で使用されるWebview

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

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

3

Swift 3.1以降の場合

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

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. 任意のロードを許可true info.plist

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

    info.plistは以下のようになります

enter image description here

2
Enamul Haque

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

       }
2

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

}
0
user10079585