Как перезагрузить старый вид, если я закрою веб-вид? - PullRequest
0 голосов
/ 22 мая 2019

Я добавил веб-приложение в свое приложение, его можно открыть, нажав кнопку.Над этим webView я добавил кнопку, которая должна закрывать webView.

Если я нажимаю кнопку, веб-представление закрывается, как и должно быть, но на нем отображается только черный экран, я думаю, мне нужно перезагрузить ViewController.Как я могу это сделать?

        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.uiDelegate = self
        view = webView

     let button = ButtonDesign(frame: CGRect(x: 320, y: 50, width: 50, height: 50))
        button.setTitle("X", for: .normal)
      button.addTarget(webView, action: #selector(webView.removeFromSuperview), for: UIControl.Event.touchUpInside)
     self.view.addSubview(button)

Ответы [ 3 ]

0 голосов
/ 22 мая 2019

Вам необходимо добавить webview как subview.

Вы фактически заменяете self.view на веб-представление.

view = webView <--- ITS' WRONG: viewcontroller's view is replaced by web view 

Замените приведенную выше строку кода следующим...

view.addSubview(webView)

Окончательный код должен быть похож на ...

let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view.addSubview(webView)
0 голосов
/ 22 мая 2019

Если вы хотите вернуться назад, вы должны закрыть или открыть ViewController.

self.dismiss(animated: true, completion: nil)
self.navigationController?.popViewController(animated: true)
0 голосов
/ 22 мая 2019

В настоящее время вы устанавливаете веб-представление как представление vc, но вам нужно добавить его как подпредставление с addSubview

let webConfiguration = WKWebViewConfiguration()
// set a non-zero frame 
webView = WKWebView(frame:view.frame, configuration: webConfiguration)
webView.uiDelegate = self
view.addSubview(webView)  // add it here
view.backgroundColor = .red  // change view's color

let button = ButtonDesign(frame: CGRect(x: 320, y: 50, width: 50, height: 50))
button.setTitle("X", for: .normal)
button.addTarget(webView, action: #selector(webView.removeFromSuperview), for: UIControl.Event.touchUpInside)
self.view.addSubview(button)

При удалении сделать

webView.removeFromSuperview()
...