2017-04-06 39 views
1
  1. 我已经介绍了webview,但我按回来按钮视图控制器并没有被解雇。
  2. 当我把beakpoint放在取消按钮上时,它不会被触发。

这里是我的代码:在swift3中加载webview时后退按钮卡住了吗?

//MARK: - View Life Cycle 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     loadWebView() 
    } 

    //MARK: - Methods 
    func loadWebView() { 
     let url = URL(string: "http://www.lipsum.com/") 
      //(URL(string: Constant.MedataApi.BaseUrl)?.appendingPathComponent(Constant.termsAndConditions))! 
     let request = NSURLRequest.init(url: url! as URL) 
     webView.loadRequest(request as URLRequest) 
     //webView.layer.borderWidth = 1.0 
     //webView.layer.borderColor = UIColor.red.cgColor 
    } 

//MARK: - IBActions() -   

    @IBAction func cancelButtonClicked(_ sender: Any) { 

     self.dismiss(animated: true, completion: nil) 
    } 
+0

在您发表评论'loadWebView()''中viewDidLoad方法()',然后按返回键会发生什么,还是它的工作原理? –

+0

你使用'push'或'modal'来转到'webView'控制器吗? –

+1

如何异步加载网址? –

回答

0
  1. 假设你有两个视图控制器,一个是FirstViewController而另一个是SecondViewController(web视图)。

  2. 在Main.storyboard中,选择FirstViewController并将其嵌入为NavigationController。

  3. 现在为Main.storyboard中的SecondViewController分配一个Storyboard ID,假设Storyboard ID是“SecondVC”。

  4. 在FirstViewController.swift添加代码按钮动作:

    let firstController = self.storyboard?.instantiateViewController(withIdentifier: "SecondVC") as! SecondViewController

    navigationController?.pushViewController(firstController, animated: true)

  5. 然后在SecondViewController.swift文件中添加web视图代码。

    override func viewDidLoad() { 
    super.viewDidLoad() 
    
    // Do any additional setup after loading the view. 
    
    let url = URL(string: "http://www.lipsum.com/") 
    let request = URLRequest(url: url!) 
    webView.loadRequest(request) 
    webView.scalesPageToFit = true 
    } 
    
+0

webview加载其内容但取消按钮卡住了。当我评论我加载webview的代码其工作正常.. – akshay

+1

你尝试添加viewDidLoad()函数中的代码?你覆盖它吗?因为在loadView()和viewDidLoad()中添加代码很重要。 –

+0

是啊,我已经做到了这一点,但它不工作 – akshay