Когда нажимаете Tabbar, но он не собирается это Rootviewcontroller - PullRequest
0 голосов
/ 08 ноября 2011

Когда я нажимаю определенную вкладку, она не идет к своему корневому контроллеру,

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

Я реализовал этот метод, но не работает,

-(void)tabBarController:(UITabBarController *) tabBarController didSelectViewController : (UIViewController *)viewController
{
   [viewController.navigationController popToRootViewControllerAnimated:NO];
}

Что с этим не так?

Как я могу это сделать?

1 Ответ

2 голосов
/ 08 ноября 2011

Предполагая, что метод вызывается (если вам не нужно устанавливать делегат UITabBarController), вы, вероятно, получаете UINavigationController (который является подклассом UIViewController) как viewController, вы можете проверить, зарегистрировав его:

-(void)tabBarController:(UITabBarController *) tabBarController didSelectViewController : (UIViewController *)viewController
{
   NSLog(@"didSelect %@", viewController);
   [viewController.navigationController popToRootViewControllerAnimated:NO];
}

если это так, viewController.navigationController, вероятно, будет равен нулю, вы должны сделать:

-(void)tabBarController:(UITabBarController *) tabBarController didSelectViewController : (UIViewController *)viewController
{   
    if ([viewController isKindOfClass:[UINavigationController class]])
        [(UINavigationController*)viewController popToRootViewControllerAnimated:NO];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...