У меня есть ряд представлений, доступ к которым осуществляется через контроллер панели вкладок - все они ведут себя, и панель вкладок отображается при нажатии каждого значка.
Однако, когда одно из этих представлений переходит в другое, панель вкладок не отображается.
Я попытался заставить панель вкладок использовать оба:
self.hidesBottomBarWhenPushed = false
self.tabBarController?.tabBar.isHidden = false
Любые идеи о том, как решить эту проблему?
Можете ли вы объяснить лучше, как ваша иерархия?
@RicoCrescenzio UINavigationController -> UITabBarController -> UIViewController (назовем его V1), где «->» означает «родитель». И пока вы находитесь в V1, вы попытались вставить другой контроллер представления V2 в контроллер навигации. Это точно?
Согласно вашей иерархии (но я могу ошибаться, не на 100% понятно, что вы сказали), это нормальное поведение, потому что новый контроллер представления V2
полностью заменяет текущее представление, которое является UITabBarController
, а не V1
. Ваша иерархия может быть примерно такой
UINavigationController
|
|
UITabBarController ----> VC2
|
|
VC1
vc1 — это встроенный в контроллере панели вкладок. Поэтому, когда вы нажимаете, отображается VC2
, а все UITabBarController
скрывается.
Вы должны сделать что-то вроде этого
UITabBarController
|
|
UINavigationController
|
|
VC1 ------> VC2
Поправьте меня, если я ошибаюсь, ваш контроллер панели вкладок является дочерним элементом
UINavigationController
, вы пытались вставить другой контроллер представления в этот контроллер навигации, а панель вкладок не отображается?