多个UIWebViews问题

时间:2011-08-28 00:50:41

标签: iphone objective-c ios ipad protocols

我对这些协议真的不太满意,特别是因为这是我第一次使用这些协议。我在同一个视图中有两个UIWebView:webView和webView2。如何更改此行代码以适用于webView2?

-(void)webViewDidStartLoad:(UIWebView *)webView {

我尝试将“webView”更改为“webView2”,但是Xcode说我有两次相同的行,所以显然这不起作用。我该怎么办?谢谢你的帮助!

是的,我想我必须在这里添加一个IF语句,但它应该是什么?

3 个答案:

答案 0 :(得分:3)

委托方法传入一个参数,用于定义它来自哪个Web视图。

- (void)webViewDidStartLoad:(UIWebView *)theWebView
{
    if(theWebView == webView)
    {
        // do something
    } else if(theWebView == webView2)
    {
        // do something else
    }
}

答案 1 :(得分:1)

同样的方法将被调用,但webview的引用被传入, 因此,您可以在代理中保留对Web浏览的引用,并说出if(webview1 == webview)之类的内容,只有在委托方法中传递的webview引用为webview1时才会评估为yes,这样您就可以确定哪个webview正在调用委托使用if语句

答案 2 :(得分:0)

我想你想要:

- (void)webViewDidStartLoad:(UIWebView *)webView; {
  if(webView == webView1){
    // use the first webview here.
  }
  if(webView == webView2){
    // use the second webview here.
  }
}

希望有帮助!