我已經試過:多個UIWebViews,我如何跟蹤webViewDidFinishLoad?
- (void) webViewDidFinishLoad:(UIWebView *)webView1{
}
- (void) webViewDidFinishLoad:(UIWebView *)webView2{
}
的錯誤是,我不能重新定義的方法相同。
如果我必須使用相同的方法,我需要找出一種方法來識別另一個webView,我該怎麼做?
乾杯
我已經試過:多個UIWebViews,我如何跟蹤webViewDidFinishLoad?
- (void) webViewDidFinishLoad:(UIWebView *)webView1{
}
- (void) webViewDidFinishLoad:(UIWebView *)webView2{
}
的錯誤是,我不能重新定義的方法相同。
如果我必須使用相同的方法,我需要找出一種方法來識別另一個webView,我該怎麼做?
乾杯
- (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行)
當您以編程方式創建它們或從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
}
}
爲什麼- (void) webViewDidFinishLoad:(UIWebView *)webView
通過網頁視圖的原因是讓你知道哪些網頁流量裝載完畢。你有幾個選擇。
//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) { ... }
}