Сначала убедитесь, что при настройке webView вы присваиваете UIWebViewDelegate
для self
Затем реализуете метод делегата: webViewDidFinishLoad
, например:
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSURLRequest *currentRequest = [webView request];
NSURL *currentURL = [currentRequest URL];
//This will log the current url
NSLog(@"Current URL is %@", currentURL.absoluteString);
//Then to display it in the textField
textfield.text = currentURL.absoluteString;
}
Редактировать:
Делегат - это особый набор методов, ожидающих события.Когда это событие происходит, вызывается соответствующий метод.Вышеприведенный метод является одним из методов делегата для UIWebView
- когда с webView происходит определенное событие, в этом случае, когда webViewDidFinishLoad
, этот метод вызывается автоматически, и мы можем ответить как таковой.Чтобы установить делегата, мы можем действовать одним из двух способов:
Если вы создали webView в коде, это примерно так:
UIWebView *webView = [[UIWebView alloc] init...]
тогда все, что вам нужно сделать, это добавить следующую строку кода:
webView.delegate = self;
Однако вы, возможно, также создали webView в конструкторе интерфейсов - в этом случае нажмитена веб-панели просмотра и вкладке компоновщика и перетащите параметр делегата в «Владелец файла».
и все.