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Раскадровка

Это дизайн всех 4 вкладок:

Теперь для первой вкладки viewcontroller находится над панелью вкладок, но для отдыха она идет под панелью вкладок, и если я программно изменить selectedIndex в начале, то ViewController для selectedTab отлично отображается, а остальное идет под панелью вкладок.

Это скриншот вывода, когда я установил selectedIndex как 1 вместо 0 в начале. Как вы можете видеть, это показано выше на вкладке.

Теперь я установил ссылку на раскадровку для первой вкладки так же, как и вторая вкладка. Теперь посмотрим, что для первой вкладки vc идет ниже вкладки.

Если я установил не устанавливать selectedIndex, что означает индекс по умолчанию 0, то же самое происходит и для первой вкладки, а остальные вкладки идут под вкладкой.

Обратите внимание, что я не написал никаких кодов вместо изменения selectedIndex, которое предназначено только для целей тестирования.

1 ответ

Попробуйте отключить атрибут "Расширить края под нижними полосами" начальных UIViewControllers вашей раскадровки.

UIViewController Inspector

Другие вопросы по тегам