相关疑难解决方法(0)

UINavigationController"pushViewController:animated"的完成处理程序?

我是要创建一个使用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:

handler uinavigationcontroller pushviewcontroller ios

103
推荐指数
7
解决办法
4万
查看次数

是否可以使用完成块推送View Controller?

UINavigationController的文档不包含pushViewControllercompletion:参数的方法.

uiviewcontroller uinavigationcontroller pushviewcontroller ios

18
推荐指数
4
解决办法
1万
查看次数

从模态弹出到根视图控制器

我试图使用以下代码弹出到根视图控制器:

self.navigationController!.popToRootViewController(animated: true)
Run Code Online (Sandbox Code Playgroud)

这通常有效,但在当前视图是模态时尝试使用此代码时出错.在这种情况下,如何弹回到根视图控制器?

提前致谢.

ios swift swift3

15
推荐指数
2
解决办法
2万
查看次数

等到popToRootViewControllerAnimated:YES动画完成

我有一个基于菜单的导航.菜单是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动画完成.有没有办法知道动画何时完成?

谢谢

animation cocoa-touch uinavigationcontroller ios

3
推荐指数
1
解决办法
3316
查看次数