2010-04-04 24 views
0

每次用户更改选项卡时,对于选定的选项卡,我想将其推送到其顶级控制器。我已经实现委托方法的Tabbarcontroller这样的:tabBarController popToRooTViewControler

- (void) tabBarControler:(UITabBarController *)tabBarController didSelectViewController:(UIViewController*)viewController{ 
    [[self navigationController] popToRootViewController Animated:NO]; 
} 

但这n要似乎工作,但我可以证实该方法被调用每一次我改变标签

回答

0

基于您的代码时,它看起来就像一个简单的拼写错误。正确的方法是[[self navigationController] popToRootViewControllerAnimated:NO](您有一个额外的空间)。另外,tabBarController拼写错误,这会阻止该方法被调用。

如果这不起作用,可能[self navigationController]可能是错误的(取决于您从哪里调用方法)。如果你从你的AppDelegate调用,它可能应该是[tabBarController.selectedViewController.navigationController popToRootViewControllerAnimated:NO]。希望有所帮助。

+0

嗯,我没有插入NSLog(@“Hello”)语句来检查方法是否被调用...我会尝试你提到的最后一段代码。谢谢! – Jimmy 2010-04-04 02:38:43