Как я могу программно установить выбранную вкладку UITabBarController, а также запускать shouldSelectViewController в UITabBarControllerDelegate
Я пытаюсь оживить переходы между вкладками в моем UITabBarController, который отлично работает, когда я нажимаю кнопки вкладок. Однако, когда я переключаю вкладки программно, вызывая
[self.tabBarController setSelectedIndex:2];
в распознавателе жестов, функция shouldSelectViewController НЕ вызывается в моем делегате UITabBarControllerDelegate, поэтому моя анимация не запускается.
Есть ли способ выполнить то, что я хочу? Могу ли я программно запускать переключатель вкладки по-другому, возможно, так, чтобы вызываемая функция shouldSelectViewController вызывалась?
Ответы
Ответ 1
Если вы внедрили - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController
в свой делегат tabBarController, вы можете вызвать его вручную.
[self.tabBarController.delegate tabBarController:self.tabBarController shouldSelectViewController:[[tabBar viewControllers] objectAtIndex:2]];
[self.tabBarController setSelectedIndex:2];
Надеюсь, что это поможет.