我试过了:
- (void) webViewDidFinishLoad:(UIWebView *)webView1{
}
- (void) webViewDidFinishLoad:(UIWebView *)webView2{
}
错误是我无法重新定义相同的方法。
如果我必须使用相同的方法,我需要找出从另一方面识别一个webView的方法,我该怎么做?
干杯
答案 0 :(得分:4)
- (void) webViewDidFinishLoad:(UIWebView *)webview{
if ( webview == self.webview1 )
{
// in case of webview 1
} else if ( webview == self.webview2 ) {
// in case of webview 2
} else {
NSLog(@"webview %@ was not wired to a property of %@",webview,self);
}
}
并将webview1和webview2添加为控制器的属性。 (即你需要@property行和@synthesize行)
答案 1 :(得分:1)
- (void) webViewDidFinishLoad:(UIWebView *)webView
通过网页浏览的原因是您知道哪个网页浏览已完成加载。你有几个选择。
<强> 1 强>
//SomeController.h
@interface SomeController : UIViewController
UIWebView *webView1;
UIWebView *webView2;
@end
//SomeController.m
...
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
if(webView == webView1) { ... }
else if(webView == webView2) { ... }
}
...
<强> 2 强>
-(void)viewDidLoad
{
webView1.tag = 1;
webView2.tag = 2;
}
- (void) webViewDidFinishLoad:(UIWebView *)webView
{
if(webView.tag == 1) { ... }
else if(webView.tag == 2) { ... }
}
答案 2 :(得分:0)
您需要在以编程方式创建它们时保留对它们的引用,或者从Interface Builder添加它们的出口。这样您就可以将实例变量与webView
方法参数进行比较,以查看哪一个已完成加载。您只需要一种方法,您可能需要read up on the subject。
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
if (webView == webView1)
{
// handle webView1's loading
}
else if (webView == webView2)
{
// handle webView2's loading
}
}