Определить изменение элемента панели вкладок для UITabBarController - PullRequest
0 голосов
/ 04 октября 2018

Есть ли способ, например, делегат, чтобы контроллер панели вкладок что-то делал при нажатии на элемент?

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

Я использую этот делегат, но он не работает должным образом, так как каждый раз, когда я касаюсь вкладки, он запускается (вместо запуска только при каждой смене вкладки)

func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
    print("Hey")
}

1 Ответ

0 голосов
/ 04 октября 2018

Можно попробовать реализовать shouldSelect рядом с didSelect

func tabBarController(_ tabBarController: UITabBarController, 
              shouldSelect viewController: UIViewController) -> Bool {

    return tabBarController.viewControllers.index(of:viewController) != tabBarController.selectedIndex
}
...