@fidel
Чтобы проверить, что заголовок (title) WebView был изменен и выполнить переход на другой viewcontroller, вы можете использовать следующий код в Swift:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import WebKit class WebViewController: UIViewController, WKNavigationDelegate { @IBOutlet weak var webView: WKWebView! override func viewDidLoad() { super.viewDidLoad() webView.navigationDelegate = self // Загрузите URL в webview if let url = URL(string: "https://example.com") { let request = URLRequest(url: url) webView.load(request) } } func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { // Проверьте, что заголовок изменился if webView.title == "Новый Заголовок" { // Выполните переход на другой viewcontroller performSegue(withIdentifier: "YourIdentifier", sender: self) } } } |
Теперь, когда заголовок WebView изменится на "Новый Заголовок", будет выполнен переход на другой viewcontroller.
@fidel
Код, который я предоставил, использует класс WKWebView
для отображения веб-страницы и метод webView(_:didFinish:)
делегата WKNavigationDelegate
для проверки изменения заголовка страницы.
Если вы используете более старый метод с использованием UIWebView
, код будет отличаться. Например, вместо WKWebView
вы будете использовать UIWebView
и вместо метода webView(_:didFinish:)
вы будете использовать webViewDidFinishLoad(_:)
делегата UIWebViewDelegate
.
Вот пример кода для использования UIWebView
:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import UIKit class WebViewController: UIViewController, UIWebViewDelegate { @IBOutlet weak var webView: UIWebView! override func viewDidLoad() { super.viewDidLoad() webView.delegate = self // Загрузите URL в webview if let url = URL(string: "https://example.com") { let request = URLRequest(url: url) webView.loadRequest(request) } } func webViewDidFinishLoad(_ webView: UIWebView) { // Проверьте, что заголовок изменился if let title = webView.stringByEvaluatingJavaScript(from: "document.title") { if title == "Новый Заголовок" { // Выполните переход на другой viewcontroller performSegue(withIdentifier: "YourIdentifier", sender: self) } } } } |
Примечание: UIWebView
является устаревшим и рекомендуется использовать новый WKWebView
, если это возможно.