2017-05-26 1 views
0

戻るボタンを押したためにビューが表示されているかどうかを検出できますか?たとえば、この階層の場合、VC1 -> webViewController -> VC3の場合、VC3の場合は、戻るボタンを押します。webViewControllerが表示されたら、それを検出したいと思います。私の目標は、shouldStartLoadWithメソッドでこれを使用して、戻るボタンを押したときにページをリフレッシュしないようにすることです。戻るボタンを押したためにビューが読み込まれているかどうかを検出します。

答えて

0

あなたは、このようなコールバックにclosureを使用することができますwebViewController

- (void)webViewDidFinishLoad:(UIWebView *)webView 
    { 
     //This Check is for if still webview is Loading the page or content 
     if (webView.isLoading) { 
     NSLog(@"your webview is still loading"); 
     return; 
} 
    else { 
     //this is for when its finish loading 
     NSLog(@"your webview is loaded completely"); 
} 
    } 
+0

これはどのようにバックボタンが押されたかどうかをお知らせすることになっていますか? –

0

でこれを使用してください。

は:

class WebViewController: UIViewController 
{ 
    @IBAction func onTapButton(_ sender: UIButton) 
    { 
     let controller = UIStoryboard.init(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "VC3") as! VC3 
     controller.completionHandler = { 
      //Code to execute after back button is pressed. 
     } 
     self.navigationController?.pushViewController(controller, animated: true) 
    } 
} 

class VC3: UIViewController 
{ 
    var completionHandler : (()->())? 

    override func viewWillDisappear(_ animated: Bool) 
    { 
     if self.navigationController?.viewControllers.index(of: self) == nil 
     { 
      //Back Button pressed 
      self.completionHandler?() 
     } 
     super.viewWillDisappear(animated) 
    } 
} 
関連する問題