Отключите UIViewController, который скрыт – iOS

Я пытаюсь выяснить, как убрать диспетчер представлений, который в настоящее время скрыт, т. Е. Вид, исходящий из модального сегмента, покрывает его.

Вот моя ситуация: я разрешаю только изменения ориентации для одного представления в своем приложении. Позволяет называть этот вид, View A. View A segues для другого viewController, когда он превращается в пейзаж, а затем я просто отбрасываю ландшафт viewController, когда он возвращается к портрету.

Проблема в том, что View A встроен в tabBarController, и он всегда является первым видом для загрузки. Если пользователь загружает приложение в альбомной ориентации, вид A будет по-прежнему отображаться в портрете, даже если он явно находится в ландшафте (это хорошо). Но, когда я делаю ориентацию на пейзаж и возвращаюсь к View A, tabBar застревает в ландшафте.

Поэтому здесь я решил иметь контроллер introView, который определяет, есть ли приложение в ландшафте или портрете, а затем загружает пейзаж или вид A (портретный вид). Теперь я могу просто переходить между двумя представлениями каждый раз, но я слышал, что это плохая практика (т. Е. ViewControllers складываются и постоянно создают новые экземпляры).

Я хочу удалить контроллер представления в иерархии представлений, а затем сохранить ту же парадигму между контроллером вида A и контроллером ландшафтного вида. Есть ли у кого-нибудь идеи, как достичь этого?