UINavigationController的文档不包含具有completion:parameter的pushViewController方法.
解决方法
我会去@ justMartin的答案.但下面是另一种方法.
推动动画需要0.3秒.因此,如果要在完成后运行某些功能,请在执行0.3秒延迟后使用performSelector.
[self performSelector:@selector(completedPushing:) withObject:nil afterDelay:.3];
要么在将新的viewController推送到导航堆栈之后,旧的viewController视图从视图hierarchy中移除,这导致在旧的ViewController上调用viewDidDisappear.You可以在那里编写完成代码.不要忘了在viewDidDisappear的某个实现点调用super.