在iOS应用程序中加载网页

3
如果我们加载一个网页,我们可以将其转发到Safari浏览器,但这会导致用户离开我们的应用程序。有没有办法让用户访问任何网页,然后回到我们的应用程序呢?

1
你可以使用UIWebView加载网页(URL)。 - Baig
5个回答

4
如果您需要为iOS 7之前的设备提供浏览器类型功能,则可以使用此内置浏览器。 链接 iOS 9 更新: 苹果已经为浏览网页引入了一个可见的标准界面,即 SFSafariViewController 适用于 iOS 9 及以上的设备。 链接 示例:
func showTutorial() {
    if let url = URL(string: "https://www.example.com") {
        let config = SFSafariViewController.Configuration()
        config.entersReaderIfAvailable = true

        let vc = SFSafariViewController(url: url, configuration: config)
        present(vc, animated: true)
    }
}

1
我希望您能为未来的其他人添加更详细的答案(关键编码!):
  1. 在对象库中搜索WebKit View并将其添加到您的ViewController中

  2. 在“import UIKit”下方放置“import WebKit”

  3. 在您的代码中,在打开的“{”下方直接从您放置在ViewController中的WebKit View中创建一个outlet

  4. 在“superViewDidLoad()”下方,您只需要这样做: let url = URL(string: "your_url_here"")

webview.load(URLRequest(url:url!))

我会附上我的代码副本,以防我没有解释清楚:
import UIKit
import WebKit

class WebsiteViewController: UIViewController {

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

        let url = URL(string: "https://www.eventbrite.com/e/pretty-in-petals-tea-party-tickets-43361370025")
        webview.load(URLRequest(url: url!))
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }




}

1
您可以使用 UIWebView 在您的应用程序中显示网页。

0

@user1706456,苹果已经弃用了UIWebView,您可以使用WKWebView。

以下是实现的代码:

步骤1:导入WebKit

步骤2:

 //ViewController's LifeCycle.
override func loadView() {
    let webConfiguration = WKWebViewConfiguration()
    webView = WKWebView(frame: .zero, configuration: webConfiguration)
    webView.uiDelegate = self
    webView.navigationDelegate = self
    view = webView
}

步骤3:

在ViewDidLoad中:

   let myURL = URL(string: "www.google.com")
   let myRequest = URLRequest(url: myURL!)
   webView.load(myRequest)

第四步:WKWebView委托方法来处理导航和加载等。
//MARK: - WKNavigationDelegate
    extension GPWebViewController : WKNavigationDelegate {
  func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!) {

}
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    // Refreshing the content in case of editing...
}



func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error) {
}
 } 

0

@Muz 很抱歉听到这个。让我给你提供另一个不基于YouTube的例子。 - Coder404
@Muz http://iosdeveloperzone.com/2011/05/21/tutorial-building-a-web-browser-with-uiwebview-part-1/ - Coder404

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接