Какой UIWebView имеет запрос на загрузку?
Так что в моем классе есть два разных объекта UIWebView (один - меню, другой - для контента). Давайте назовем их UIWebView "A" и UIWebView "B"
В моем mustStartLoadWithRequest как определить, из какого UIWebView была вызвана ссылка? Было ли это "А" или "Б"? Я подумал, что могу просто проверить свойство типа "title" или "name", поэтому я просмотрел документацию, но не повезло.
Я ищу что-то вроде этого...
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"WebView is... %@",[webView title]);
}
Если я регистрирую весь webView, я получаю большой хеш, но не ссылаюсь на оригинальное имя, которое я дал в своем IBOutlet. Надеюсь, это имеет смысл.
Кроме того, кто-то может указать мне, как я могу найти такие свойства в документации, потому что это кажется довольно простой вещью, которую я пытаюсь сделать.
1 ответ
Вы можете просто проверить, если webView
параметр, переданный этому методу, равен объявленным вами ivars.
Например, если ивари для IBOutlets названы webViewA
а также webViewB
:
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
if (webView == webViewA)
NSLog(@"webview A wants to load %@", request);
else
if (webView == webViewB)
NSLog(@"webview B wants to load %@", request);
else
NSLog(@"some other webview wants to load %@", request);
return YES;
}
Кроме того, вы также можете установить tag
свойство каждого веб-представления либо в IB, либо в коде с некоторыми ненулевыми значениями (скажем, 10 и 20) и проверьте значение webView.tag
в методе делегата.