如果我们加载网页,我们可以将其转发到safari,但这会导致用户离开我们的应用。有没有办法让用户访问任何网页,然后回到我们的应用程序。
如果您想要比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)
}
}
您可以使用UIWebView
在应用程序中显示该页面。
使用UIWebView Here's how to program one。如果您需要更多帮助或示例,请与我们联系
我希望将来为其他人添加更详细的答案(密钥编码!):
和
webview.load(的URLRequest(网址: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.
}
}
@ user1706456 Apple不推荐使用UIWebView,您可以使用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
}
第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) {
}
}