2016-11-23 206 views
0

,而我有它的viewDidLoad法這樣的UIViewController如何制止WKWebView它加載請求

self.webView = [[WKWebView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight-64)]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:self.passageUrl]]; 
[self.webView loadRequest:request]; 
self.webView.UIDelegate = self; 
self.webView.navigationDelegate = self; 
[self.view addSubview:self.webView]; 

現在我想的裝載完成之前做popViewController行動,因爲互聯網連接有時並不好,我在它的彈出動作中使用下面的代碼,代碼立即執行,但webView無法立即停止加載,在彈出控制器前幾秒鐘,任何人都有關於如何解決的一些想法這個?

- (void)doBack:(id)sender { 
    [self.webView stopLoading]; 
    [self.navigationController popViewControllerAnimated:YES]; 
} 

我發現在模擬器中它工作正常,所以事實證明,問題只存在於設備中。

+0

試圖把在主線程.. –

+0

但我並沒有開始一個新線程。 – Jeremy

+0

好吧不是一個問題,只是檢查它在導航數組中或不是? –

回答

0

試試這個

- (id)popToViewControllerWithClassname:(NSString *)className Animated:(BOOL)animated { 
    Class class = NSClassFromString(className); 
    for (UIViewController *controller in self.viewControllers) { 
     if([controller isKindOfClass:class]) { 
      [self popToViewController:controller animated:animated]; 
      return controller; 
     } 
    } 
    return nil; 
} 

調用方法

[self.navigationController popToViewControllerWithClassname:@"TestViewController" Animated:YES]; 
+0

謝謝,我按你所說的做了,但沒有奏效。也許問題不在於彈出操作,也許是關於webView加載的問題。我問了這個問題,因爲我的WKWebView總是加載緩慢,如果它已經開始加載不能停止,它困擾了我很多。所以也許我應該嘗試提高我的webView的反應速度。 – Jeremy