所以我的类有两个不同的UIWebView对象(一个是菜单,另一个是内容)。我们称它们为UIWebView“A”和UIWebView“B”
在我的shouldStartLoadWithRequest中,我如何确定从哪个UIWebView调用链接? 是“A”还是“B”? 我想我可以检查一个属性,如“标题”或“名称”,所以我查看了文档,但没有这样的运气。
我正在寻找类似的东西......
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"WebView is... %@",[webView title]);
}
如果我记录整个webView,我会得到一个大的哈希,但没有引用我在IBOutlet中给出的原始名称。希望这是有道理的。
此外,有人可以指出我如何在文档中找到这种属性,因为它似乎是我想要做的非常基本的事情。
答案 0 :(得分:1)
您可以测试传递给该方法的webView
参数是否等于您声明的ivars。
例如,如果IBOutlets的ivars名为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;
}
或者,您也可以将IB或代码中每个Web视图的tag
属性设置为某些非零值(例如10和20),并检查委托中webView.tag
的值方法