swift tabBarController selectedIndex не работает - PullRequest
0 голосов
/ 07 июня 2018

Как вы вызываете индекс табуляции вручную на контроллере вкладок с более чем 5 контроллерами представления?

Я пытаюсь вызвать индекс вкладки вручную, но, похоже, он не работает.У меня есть контроллер tabview с 6 контроллерами представления.Я использую selectedIndex для вызова конкретной вкладки.На iPhone это отлично работает для первых 4 вкладок, но не для вкладок 5 и 6. На iPad работает нормально.

Это то, что я использую:

let getViewController = self.storyboard?.instantiateViewController(withIdentifier: "tabBar") as! UITabBarController
getViewController.selectedIndex = 5
self.navigationController?.present(getViewController, animated: true)

В результате на вкладке отображается первая вкладка, а не предполагаемая 6-я вкладка.Так как на iPad он работает нормально, я полагаю, что вкладка «Еще» заставляет tabindex не работать

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Вероятно, потому что представление еще не было загружено, поэтому контроллеры IBOutlets и sub view еще не были установлены.

Вы можете попробовать вызвать getViewController.loadViewIfNeeded() перед тем, как установить selectedIndex.Или создайте класс, который расширяет UITabBarController и в viewDidLoad установите необходимый selectedIndex.

Я использовал UITabBarController сегодня и использовал selectedIndex без проблем.

0 голосов
/ 07 июня 2018

Звоните selectedViewController вместо selectedIndex.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...