我有一个基于菜单的导航.菜单是tableView.每当用户按下该表中的一个条目时,我想切换到另一个视图控制器,如果有任何视图被推送,我想先清理导航堆栈. 这就是我在做的事情 - (void)table
这就是我在做的事情
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [(UINavigationController *)self.tabBar.selectedViewController popToRootViewControllerAnimated:YES]; self.tabBar.selectedIndex = indexPath.row; }
但
self.tabBar.selectedIndex = indexPath.row;
不要让popToRoot动画完成.有没有办法知道动画何时完成?
谢谢
在rootViewController中,当rootViewController调用 – (void)viewDidAppear:(BOOL)动画时,表示动画完成.你可以在rootViewControllers中编写代码 – (void)viewDidAppear:(BOOL)动画
如果你想在当前的ViewController中编写代码,我认为它有两种方式:
1.在rootViewController中添加一个委托,当调用 – (void)viewDidAppear:(BOOL)动画使用委托发送消息时
2.在rootViewController中添加一个通知,当调用 – (void)viewDidAppear:(BOOL)动画发布通知时.在您当前的ViewController中,您可以收到通知