从另一个视图控制器导航栏加载视图控制器的UIWebView中的请求URL,可以通过以下步骤实现:
webView(_:shouldStartLoadWith:navigationType:)
方法。webView(_:shouldStartLoadWith:navigationType:)
方法中,判断请求的URL是否是需要加载的URL。loadRequest(_:)
方法加载URL请求到UIWebView中。以下是一个示例代码:
import UIKit
import WebKit
class ViewController: UIViewController, UIWebViewDelegate {
var webView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// 创建UIWebView
webView = UIWebView(frame: view.bounds)
webView.delegate = self
view.addSubview(webView)
// 创建导航栏按钮
let loadButton = UIBarButtonItem(title: "加载", style: .plain, target: self, action: #selector(loadWebView))
navigationItem.rightBarButtonItem = loadButton
}
@objc func loadWebView() {
// 获取UIWebView对象
guard let webView = webView else { return }
// 加载URL请求到UIWebView中
let url = URL(string: "https://www.example.com")!
let request = URLRequest(url: url)
webView.loadRequest(request)
}
// UIWebViewDelegate方法
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebView.NavigationType) -> Bool {
// 判断请求的URL是否是需要加载的URL
if let url = request.url, url.absoluteString == "https://www.example.com" {
return true
}
return false
}
}
在上述示例中,我们创建了一个新的视图控制器,并在其中添加了一个UIWebView。在需要加载UIWebView的视图控制器中,创建了一个导航栏按钮,并在按钮的点击事件中获取UIWebView对象,并设置其代理为当前视图控制器。然后,在当前视图控制器中实现了UIWebViewDelegate协议的webView(_:shouldStartLoadWith:navigationType:)
方法,判断请求的URL是否是需要加载的URL。如果是需要加载的URL,就使用loadRequest(_:)
方法加载URL请求到UIWebView中。
请注意,以上示例中使用的是UIWebView,但在iOS 12及更高版本中,推荐使用WKWebView来替代UIWebView。使用WKWebView的方法类似,只需将代码中的UIWebView替换为WKWebView即可。
关于腾讯云相关产品和产品介绍链接地址,由于要求不能提及具体品牌商,无法给出具体的链接地址。但腾讯云提供了丰富的云计算产品和服务,可以通过访问腾讯云官方网站或进行相关搜索来获取更多信息。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云