У меня есть приложение, в котором в качестве основного контроллера есть контроллер панели вкладок. Каждая вкладка имеет серию представлений с контроллером навигации, и я обычно нажимаю и вставляю эти представления в стек.
Странная проблема
Случай 1: Если я создам UINavigationController и сделаю новый viewController в качестве его корня и представлю этот NavigationController. В этом новом стеке навигации я могу легко представить представление модально и без проблем закрыть его.
Случай 2: Теперь, не создавая новый UINavigationController, я представляю представление, и когда я закрываю представление, представление ниже ведет себя странно. Например, это представление было UICollectionView, оно просто прокручивает назад к 1-й ячейке, как будто выполняет действие «перезагрузить» и «scrollTo» первую ячейку. Если PresentingView является представлением, перемещенным из rootView, он будет просто представлением popToRoot, что определенно не предназначено.
У меня не было этой проблемы, пока я не реализовал UITabbarController, поэтому я думаю, я должен знать больше, что происходит под капотом при представлении представления и отклонении представления в UITabbarController.
Я ДУМАЮ, когда закрываю представление в представлении UITabbarController, оно как бы «СБРОСИВАЕТ» все до самого первого представления текущей вкладки. Я действительно не уверен, что это правда.
Я знаю, что это концептуально, но я не могу не думать, что должно быть что-то важное, чего я здесь упускаю.