3

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

4

5 回答 5

4

如果您想为 iOS7 之前的设备提供一些浏览器类型的功能,您可以使用这个内联浏览器

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)
    }
}
于 2012-10-04T23:03:30.530 回答
1

您可以使用 aUIWebView在应用程序中显示页面。

于 2012-10-04T23:00:01.280 回答
1

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

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

  2. 将“import WebKit”放在“import UIKit”下

  3. 从您放置在您的代码中的 ViewController 中的 WebKit 视图中创建一个出口,直接位于开头的“{”下方

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




}
于 2018-03-27T04:50:44.980 回答
0

使用 UIWebView下面是如何编程一个。如果您需要更多帮助或示例,请告诉我

于 2012-10-04T23:01:41.910 回答
0

@user1706456 UIWebView 已被 Apple 弃用,您可以使用 WKWebView 。

这是执行此操作的代码:

step1:导入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
}

第三步:

在 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) {
}
 } 
于 2018-03-27T05:23:38.737 回答