我是要创建一个使用a UINavigationController来呈现下一个视图控制器的应用程序.iOS5有一种新的呈现方法UIViewControllers:
presentViewController:animated:completion:
Run Code Online (Sandbox Code Playgroud)
现在我问我为什么没有完成处理程序UINavigationController?只有
pushViewController:animated:
Run Code Online (Sandbox Code Playgroud)
是否有可能像新的一样创建自己的完成处理程序presentViewController:animated:completion:?
UINavigationController的文档不包含pushViewController带completion:参数的方法.
uiviewcontroller uinavigationcontroller pushviewcontroller ios
我试图使用以下代码弹出到根视图控制器:
self.navigationController!.popToRootViewController(animated: true)
Run Code Online (Sandbox Code Playgroud)
这通常有效,但在当前视图是模态时尝试使用此代码时出错.在这种情况下,如何弹回到根视图控制器?
提前致谢.
我有一个基于菜单的导航.菜单是tableView.每当用户按下该表中的一个条目时,我想切换到另一个视图控制器,如果有任何视图被推送,我想先清理导航堆栈.
这就是我在做的事情
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[(UINavigationController *)self.tabBar.selectedViewController popToRootViewControllerAnimated:YES];
self.tabBar.selectedIndex = indexPath.row;
}
Run Code Online (Sandbox Code Playgroud)
但
self.tabBar.selectedIndex = indexPath.row;
Run Code Online (Sandbox Code Playgroud)
不要让popToRoot动画完成.有没有办法知道动画何时完成?
谢谢