popToRootViewControllerAnimated:
会做你想做的。如果您在无法直接访问的代码部分中,UINavigationController
您可以推送一个事件并配置您的导航控制器以接收它。像这样:
你的导航控制器在哪里:
UINavigationController *navController = [[UINavigationController alloc] init];
// subscribe to the notification
[[NSNotificationCenter defaultCenter] addObserverForName:@"goBack!"
object:nil
queue:nil
usingBlock:^(NSNotification *notification) {
// pop!
[navController popToRootViewControllerAnimated:YES];
}];
现在,代码中的其他地方......当你想返回时执行此操作:
// post the notification
[[NSNotificationCenter defaultCenter] postNotification:
[[NSNotification alloc] initWithName:@"goBack!"
object:nil
userInfo:nil]];