UITabbarController во-первых выбранная вкладка ведет себя странно
Я прошел через странную проблему в UITabbarController
, На мой взгляд, это может быть ошибкой.
Это мой сценарий,
у меня есть UITabbarController
с 4 вкладками. Каждая вкладка ссылается на разные раскадровки.
Теперь в каждой раскадровке в моем начальном viewcontroller
есть два containerview
, Один для верхней панели и один для нижней навигации.
Теперь в моем начальном viewcontroller
Я установил нижнюю панель как Translucent Tab Bar
, Таким образом, есть вкладка, показывающая, и я установил ограничение нижнего контейнера с помощью панели вкладок.
Итак, теперь давайте перейдем к странной ситуации, которая возникает:
Когда мое приложение запускается, выбирается первая вкладка и container
"s viewcontrollers
показывают отлично выше Tabbar
, Но для всех остальных вкладокcontainer
"s viewcontrollers
идут ниже Tabbar
,
Если я вручную установлю selectedIndex
из Tabbar
как 1 или 2 или 3, то container
на этой вкладке показывает отлично, а остальные ведут себя странно.
Я прилагаю скриншоты для лучшего понимания.
Это мое UITabbarController
Раскадровка
Теперь для первой вкладки viewcontroller
находится над панелью вкладок, но для отдыха она идет под панелью вкладок, и если я программно изменить selectedIndex
в начале, то ViewController для selectedTab отлично отображается, а остальное идет под панелью вкладок.
Это скриншот вывода, когда я установил selectedIndex как 1 вместо 0 в начале. Как вы можете видеть, это показано выше на вкладке.
Теперь я установил ссылку на раскадровку для первой вкладки так же, как и вторая вкладка. Теперь посмотрим, что для первой вкладки vc идет ниже вкладки.
Если я установил не устанавливать selectedIndex, что означает индекс по умолчанию 0, то же самое происходит и для первой вкладки, а остальные вкладки идут под вкладкой.
Обратите внимание, что я не написал никаких кодов вместо изменения selectedIndex, которое предназначено только для целей тестирования.
1 ответ
Попробуйте отключить атрибут "Расширить края под нижними полосами" начальных UIViewControllers вашей раскадровки.