Как удалить только последний контроллер в стеке, не отклоняя один за другим - PullRequest
0 голосов
/ 24 января 2019

Например, у нас есть контроллеры uiview: vc0, vc1, vc2.Vc0 является пользователем root, vc1 добавлен как presentViewController на vc0, а vc2 добавлен как presentViewController на vc1.Когда я пытаюсь вызвать dismissViewController из vc0 animated, я хочу, чтобы только vc2-контроллер вызывал метод viewWillDisappear и только vc2 отклонял animated.Но на самом деле сначала отключаем vc2, НО после этого vc1 отклоняем с помощью вызывающих методов viewDidAppear, viewDidDisappear и также отклоняем модально с помощью анимации.Что я должен сделать, чтобы закрыть все стеки vc1 и vc2 одновременно?

1 Ответ

0 голосов
/ 24 января 2019

В prepare(for segue: UIStoryboardSegue, sender: Any?) в vc1 вы передаете экземпляр, выполняя

vc2.vc1 = self

и, конечно, объявляя vc1 в Vc2.

Затем, когда вы хотите отклонить обаВы делаете

self.dismiss(animated: true)
vc1.dismiss(animated: true)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...