tabBarController didSelect не вызывается - PullRequest
0 голосов
/ 17 января 2019

У меня проблема с

tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController)

делегатская стрельба. Проблема заключается в том, когда я пытаюсь использовать self.tabBarController? .SelectedIndex и изменить вкладку программно. Когда я использую selectedIndex и возвращаюсь на предыдущую вкладку и нажимаю на tabBarItem, делегат больше не запускается. Делегат срабатывает, только если я не использую selectedIndex, но как только я его использую, делегат didSelect никогда не запускается снова, даже если я коснусь элемента tabBar. Какие-либо предложения? Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Вам необходимо вызвать делегат программно, как показано ниже Например, Мне нужно выбрать SettingsTab, который находится в 4-м индексе, я могу добиться с помощью этого кода. Здесь didSelect также называется программно

if let tabbarC = self.tabBarController{
        tabbarC.selectedIndex = 4
        let setting = tabbarC.viewControllers![4]
        self.tabBarController(tabbarC, didSelect: setting)

}

Надеюсь, это поможет!

0 голосов
/ 17 января 2019

Делегат панели вкладок вызывается только в ответ на нажатия пользователя на панели вкладок и не вызывается, когда ваш код изменяет содержимое панели вкладок программным способом.

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