我正在尝试做什么:
问题是:presentModalViewController:animated:非阻止。这意味着我不能只做步骤1.-3。顺序。
我是如何解决的:
ViewController0构建了ViewController1并给了他一个自己的引用,然后是presentModalViewController:animated:。 ViewController1将收集用户输入,然后在ViewController0上调用一个方法(它有引用)。该方法将构建ViewController2并执行与第一个相同的操作。 ViewController2还将调用ViewController0上的方法(甚至可能是同一个方法)。现在,ViewController0拥有所有数据(或应该),并可以继续执行第3步。
这种方法存在问题:
那么,任何想法如何以更简单的方式解决这个问题或让它以这种方式工作?
答案 0 :(得分:1)
您是否尝试过从ViewController1调用[self presentModalViewController:ViewController2]
?
我问,因为我知道这种方法有效,从VC0启动了一个模态视图控制器:
[self.navigationController presentModalViewController:VC1]
然后在VC1的某一点上,如上所述。第二个模态视图作为叠加层出现,当被解雇时,您将返回VC1。
答案 1 :(得分:1)
我在这里找到了解决这个问题的方法:http://forums.macrumors.com/showthread.php?t=513131(lawicko的回答)。
感谢您的回复。
答案 2 :(得分:0)
您可能希望将其设为单个模态视图控制器,而不是包含2个子控制器。主模式视图控制器可以是UINavigationController
,以便第二个子控制器被推送到导航堆栈,或者您可以使它成为普通视图控制器,只是以编程方式交换子控制器的视图。
你尝试这样做的方式应该有效,但可能会觉得有点笨拙。确保在呈现第二个模态视图控制器之前解除它。