WkWebView, как управлять событиями и окнами, запускаемыми по типу входного файла - PullRequest
0 голосов
/ 26 сентября 2018

Это мое первое приложение для iOS, и я делаю то же самое приложение для Android без проблем, и теперь я застрял в этой проблеме.

Когда пользователь нажимает «выбрать файл» в веб-просмотре, телефон спрашиваетгде я хочу выбрать фотографию (или файл), и если я выберу «Закрыть», весь WebView будет закрыт!Как я могу управлять этими событиями?(на рисунке ниже показаны окна, которые вызывают у меня эту проблему) Та же проблема, если я щелкаю загруженное вложение, появляется окно, в котором отображается изображение, и если я долго нажимаю на изображение, появляются некоторые кнопки (копирование, загрузка или закрытие) ...... если я нажму один из них, WebView закроется ...

Кнопка «Назад» отключена, поскольку пользователь не может использовать «назад» в этом случае и должен следовать рабочему процессу, принудительному веб-просмотру.

Я пытаюсь с этим кодом, но все еще закрываю веб-просмотр

import UIKit
import WebKit

class MyWebViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {

    //Variable used for take received data from other ViewControllers
    var urlString = String()
    var callerString = String()

    // MARK: - Properties
    @IBOutlet weak var myWebView: WKWebView!
    @IBOutlet weak var backButton: UIButton!

    override func viewDidLoad() {
        super.viewDidLoad()

        if callerString == "CodeController"{
            backButton.isEnabled = false
        } else {
            backButton.isEnabled = true
        }

        myWebView.navigationDelegate = self
        view.addSubview(myWebView)

        // Do any additional setup after loading the view.
        let url = URL(string: urlString)
        myWebView.load(URLRequest(url : url!))

    }

    @IBAction func backButtonAction(_ sender: Any) {
        if callerString != "CodeController"{
            if myWebView.canGoBack{
                myWebView.goBack()
            }else {
                //Go to Main View
                self.navigationController?.popViewController(animated: true)
                self.performSegue(withIdentifier: "backOnViewControllerSegue", sender: self)
            }
        }
    }

Здесь некоторые images из которых buttons закрывают все WebView и как управлять ими по-другому?

button that close entire View Another button that close entire View

1 Ответ

0 голосов
/ 17 октября 2018

Это была ошибка из библиотек WkWebView.Чтобы избежать этого, просто обновите OSX и XCODE до последних версий, и проблема будет решена.

Не уверен, решена ли она для всех ОС iOS, но точно для iOS 12, а может быть и 10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...