Подтвердить что ты не робот

Как я могу программно установить выбранную вкладку UITabBarController, а также запускать shouldSelectViewController в UITabBarControllerDelegate

Я пытаюсь оживить переходы между вкладками в моем UITabBarController, который отлично работает, когда я нажимаю кнопки вкладок. Однако, когда я переключаю вкладки программно, вызывая

[self.tabBarController setSelectedIndex:2];

в распознавателе жестов, функция shouldSelectViewController НЕ вызывается в моем делегате UITabBarControllerDelegate, поэтому моя анимация не запускается.

Есть ли способ выполнить то, что я хочу? Могу ли я программно запускать переключатель вкладки по-другому, возможно, так, чтобы вызываемая функция shouldSelectViewController вызывалась?

4b9b3361

Ответ 1

Если вы внедрили - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController в свой делегат tabBarController, вы можете вызвать его вручную.

[self.tabBarController.delegate tabBarController:self.tabBarController shouldSelectViewController:[[tabBar viewControllers] objectAtIndex:2]];
[self.tabBarController setSelectedIndex:2];

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