Хорошо, так как вы прокомментировали, что ваши контроллеры представлений находятся внутри контроллера навигации, я предполагаю, что это происходит:
NavigationStack: [FirstViewController, SecondViewController]
*segue to ThirdViewController*
NavigationStack: [FirstViewController, SecondViewController, ThirdViewController]
*segue to SecondViewController*
NavigationStack: [FirstViewController, SecondViewController, ThirdViewController, SecondViewController]
*segue to ThirdViewController*
NavigationStack: [FirstViewController, SecondViewController, ThirdViewController, SecondViewController, ThirdViewController]
И так, рекурсивно размещая контроллеры представлений друг над другом.Вы можете проверить это, напечатав navigationController.viewControllers
.
Простой способ предотвратить это - представить свой ThirdViewController модально и отклонить его вместо перехода к SecondViewController.
Если вы хотите сохранить анимацию такой же, как сейчас, то, возможно,Редактирование navigationController.viewControllers
для удаления элементов того типа, который вы только что представили, будет работать.