我已经摔跤了近2个小时,现在没有运气。iOS:通过委托方法从推送ViewController返回?
我有一个视图控制器。让我们先说它。我按了一个按钮,它将我带到使用模式风格的第二个视图控制器。在第二个我添加一些数据,我可以通过两个导航栏按钮保存或放弃:保存和取消。既做他们做的事,然后他们回到我以前的屏幕。我实现了一个协议,并使用委托。到目前为止一切正常。
今天我决定有一个第三视图控制器,可以从第二个VC访问。问题是我无法转移到THIRD,直到我将第一个转换为第二个转换为PUSH(而不是模式)。现在我可以从第一到第二和第二到第三。一切都很好。
问题是:如果我按取消或保存在第二VC,它调用的方法,它采用了代表去FIRST和执行某些功能,但是当它调用:
[self dismissViewControllerAnimated:YES completion:nil];
什么发生和我卡在第二个视图。基本上我使用MODAL与委托和协议方法...我切换到PUSH,我不能摆脱我的第二个观点,并返回到第一。这似乎是dismissViewController不做任何事情。
任何帮助,非常感谢。我可以通过删除取消按钮并使用默认使用PUSH后退的BACK来解决所有这些问题,但我只想知道问题出在哪里。谢谢!
使用popViewController:将viewControllers推送到导航堆栈时生成动画。 dismissViewController:animated仅限于modalViews。 – 2012-03-29 02:13:18
谢谢@HubertKunnemeyer!这是正确的解决方案,它的工作原理! – 2012-03-29 02:23:50