在iOS应用程序中加载网页

时间:2012-10-04 22:59:19

标签: ios xcode safari

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

5 个答案:

答案 0 :(得分:3)

如果您想为iOS7之前的设备提供某些浏览器类型功能,可以使用此inline browser

iOS 9更新: Apple推出了一个可见的标准界面,用于浏览网页,即适用于iOS 9+设备的SFSafariViewController

示例:

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)

您可以使用UIWebView在应用中显示该页面。

答案 2 :(得分:0)

使用UIWebView Here's how to program one。如果您需要更多帮助或示例,请告诉我们

答案 3 :(得分:0)

我想在将来为其他人添加更详细的答案(密钥编码!):

  1. 在对象库中,搜索WebKit View并将其添加到ViewController

  2. 放置"导入WebKit"在"导入UIKit"

  3. 创建一个来自WebKit视图的插座,您可以直接在开头的#34; {"

  4. 在" superViewDidLoad()"下,您只需要: 让url = URL(字符串:" your_url_here"")

  5. webview.load(的URLRequest(URL:URL))

    和dassit!

    我会附上我的代码副本,以防万一我没有解释清楚:

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

答案 4 :(得分:0)

@ user1706456 Apple不推荐使用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)

步骤4: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) {
}
 }