4
我也做了以下內容:webViewDidStartLoad方法被調用多次
頭文件
UIWebView *itemWebView;
實現文件
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
itemWebView = [[UIWebView alloc] initWithFrame:self.view.bounds];
itemWebView.delegate = self;
NSURL *url = [NSURL URLWithString:targetString];
NSURLRequest *requestObject = [NSURLRequest requestWithURL:url];
[itemWebView loadRequest:requestObject];
[self.view addSubview:itemWebView];
[itemWebView release];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (BOOL) webView:(UIWebView *)_webView shouldStartLoadWithRequest: (NSURLRequest *) request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@"ItemLoadinglViewController - shouldStartLoadWithRequest");
loadingView.hidden = NO;
itemWebView.hidden = YES;
return YES;
}
- (void) webViewDidStartLoad: (UIWebView *) _webView {
NSLog(@"ItemLoadinglViewController - webViewDidStartLoad");
}
- (void) webViewDidFinishLoad: (UIWebView *) _webView {
NSLog(@"ItemLoadinglViewController - webViewDidFinishLoad");
loadingView.hidden = YES;
itemWebView.hidden = NO;
}
嗯,這是我的NSlog
的樣子:
ItemLoadinglViewController - shouldStartLoadWithRequest
ItemLoadinglViewController - webViewDidStartLoad
ItemLoadinglViewController - shouldStartLoadWithRequest
ItemLoadinglViewController - shouldStartLoadWithRequest
ItemLoadinglViewController - webViewDidStartLoad
ItemLoadinglViewController - webViewDidFinishLoad
ItemLoadinglViewController - shouldStartLoadWithRequest
ItemLoadinglViewController - webViewDidStartLoad
ItemLoadinglViewController - shouldStartLoadWithRequest
ItemLoadinglViewController - webViewDidStartLoad
ItemLoadinglViewController - webViewDidFinishLoad
ItemLoadinglViewController - shouldStartLoadWithRequest
ItemLoadinglViewController - webViewDidStartLoad
ItemLoadinglViewController - webViewDidFinishLoad
ItemLoadinglViewController - shouldStartLoadWithRequest
ItemLoadinglViewController - webViewDidStartLoad
ItemLoadinglViewController - webViewDidFinishLoad
有沒有人有任何想法爲什麼這些方法被調用多次?我用這個之前,但被稱爲每種方法只once.Why不同,這一次我不out.Thanks :)
編輯:
- (void) itemPressed:(id)sender{
int x = [sender tag];
ItemLoadingViewController *itemLoadingViewController = [[ItemLoadingViewController alloc] init];
itemLoadingViewController.targetString = [target objectAtIndex:x];
[self.navigationController pushViewController:itemLoadingViewController animated:YES];
[itemLoadingViewController release];
}
你可以展示你如何加載視圖控制器,它看起來像視圖加載被稱爲多一次。 – shannoga
也有可能您的網址使用重定向?這可以解釋爲什麼webview加載多次 – Zoleas
我編輯我的問題與code.please看看! – adrian