Представлен ViewController модально внутри панели вкладок загружен viewcontroler - PullRequest
0 голосов
/ 13 апреля 2019

У меня есть TabBarController, в котором у меня есть основной ViewController, который реализует UIWebView, когда нет соединения, он представляет модальный ErrorViewController, у которого есть кнопка повтора, которая закрывает представление и, по завершении, перезагружает веб-представление. Я хотел бы, чтобы модал отображался в представлении панели вкладок (где находится WebView), позволяя пользователю продолжать навигацию по вкладкам.

В настоящее время я использую performSegue(withIdentifier: "showErrorView", sender: self), но он покрывает весь экран.

Я пытался использовать NavigationController, но когда я выскочил из представления, я не нашел, как сказать ViewController, который отображается в pop для перезагрузки WebView (Другими словами, у меня нет организатор соревнований)

Изображения

Приложение до появления модального

Текущее поведение

Ожидаемое поведение

Ответы [ 2 ]

0 голосов
/ 13 апреля 2019

Вы можете установить метод Delegate (Protocol) для обратной связи с MainVC из ErrorVC, чтобы перезагрузить веб-представление, когда оно закрыто.

Делегат

protocol WebViewDelegate: class {
    func reloadWebView()
}

Ошибка VC

class ErrorVC: UIViewController {

    weak var delegate: WebViewDelegate?

    @IBAction func retryButtonClicked(_ sender: Any) {
        self.dismiss(animated: true, completion: nil)
        delegate. reloadWebView()
    }
}

MainVC

class MainVC: UIViewController, WebViewDelegate {

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

        if let errorVC = segue.destination as? ErrorVC {
            errorVC.delegate = self
        }
    }

    func reloadWebView() {
        // reload code
    }
}
0 голосов
/ 13 апреля 2019

В раскадровке выберите текущий модальный переход и выберите презентацию как Over Current Context вместо Over full Screen

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