开始一个新线程...关于同样的问题..我已经尝试了所有我从不同的帖子和论坛得到的...没有为我工作..
我想做的是......
[self presentModalViewController:ViewControllerA animated:YES];//Working fine
//Inside viewControllerA call viewControllerB
[self presentModalViewController:ViewControllerB animated:YES];//Working fine
//Dismiss both the Controllers. and present View
C
我试过了。
答案 0 :(得分:1)
您的代码不清楚(当您可能引用不同的内容时,您正在使用self
两次)。我假设你想要做的是(有效地)这个:
[viewController presentModalViewController:viewControllerA animated:YES];
// time passes...
[viewControllerA presentModalViewController:viewControllerB animated:YES];
// time passes
... do something to dismiss both controllers ...
你可能会有这样的运气:
[viewControllerA dismissModalViewController:NO];
[viewController dismissModalViewController:NO];
我不确定“in”或“inside”是什么意思;你在哪个班级“并不重要”。但通常情况下,视图控制器负责其子级。通常,父级将自己设置为子级的委托。当孩子“完成”时,它会向父母发送消息;父母负责解雇孩子。 UIKit的预先打包的视图控制器(UIImagePickerController / MFMailComposeViewController / MFMessageComposeViewController)都遵循这种模式。
答案 1 :(得分:0)
这就是我所做的......不是一个好的解决方案,但现在可以工作.. :)
/// viewDidLoad中 [self presentModalViewController:ViewControllerA animated:YES]; //工作正常
//在ViewController A中 [self dismissModalViewControllerAnimated:NO];
// viewWillAppear中 [self presentModalViewController:ViewControllerB animated:YES]; //工作正常
//在ViewController B中 [self dismissModalViewControllerAnimated:NO];