Основная проблема заключается в том, что независимо от того, как вы замените иерархию представлений, ваш представленный VC будет отклонен, что отправит сообщение viewWillAppear
вашему "pressedVC" ... в этот момент "pushVC"немедленно загрузит и повторно отобразит «triggerVC»
Что вы, вероятно, хотите сделать, это:
- Оставьте
jumpToModalVC
равным false, , пока вы не захотите использовать его - При нажатии кнопки в представленном "triggerVC", отмените модальное (self)
- после завершения отклонения, установите
jumpToModalVC
в true и восстановите / сбросьте иерархию
Примечание:
Цепные вызовы для сегментов от каждого VC viewWillAppear
почти всегда приводят к:
Несбалансированные вызовы для перехода к началу / концу появления
Чтобы избежать этого, лучше всего запускать сегменты с viewDidAppear
Если вы хотите, вы можете добавить меня в качестве «Коллаборатора» в репозитории GitHub (мой идентификатор пользователя GitHub - DonMag), и я могу выдвинуть сделанные мной изменения в виде новой ветви.