iOS-从另一个显示的viewcontroller显示viewcontroller

iOS-从另一个显示的viewcontroller显示viewcontroller,ios,cocoa-touch,uivewcontroller,Ios,Cocoa Touch,Uivewcontroller,我有3个视图控制器,A、B和CB显示在A上。我需要的是当一个按钮点击B并关闭B时,在A上显示C。但我不能这样做。有什么解决办法吗。 谢谢您的帮助。当您单击B上的按钮时,弹出B本身并使用NSNotificationCenter向a发出通知,使a按下C。当您单击B上的按钮时,弹出B本身并使用NSNotificationCenter向a发出通知,使A按C。如果不想设置代理,只需通过B中的属性presentingViewController获取A,调用A的所需方法,在该方法中,首先关闭模态控制器,然后呈

我有3个视图控制器,ABCB显示在A上。我需要的是当一个按钮点击B并关闭B时,在A上显示C。但我不能这样做。有什么解决办法吗。
谢谢您的帮助。

当您单击B上的按钮时,弹出B本身并使用NSNotificationCenter向a发出通知,使a按下C。

当您单击B上的按钮时,弹出B本身并使用NSNotificationCenter向a发出通知,使A按C。

如果不想设置代理,只需通过B中的属性presentingViewController获取A,调用A的所需方法,在该方法中,首先关闭模态控制器,然后呈现C。

如果不想设置代理,只需通过B中的属性presentingViewController获取A,调用A的所需方法,在该方法中,首先关闭模态控制器,然后显示C。

在iOS5中单击B上的按钮

UIViewController *presentingVC = self.presentingViewController;
[self dismissViewControllerAnimated:YES completion:^{
      [presentingVC presentViewController:vc3 animated:YES completion:nil];
}];

单击iOS5中B上的按钮

UIViewController *presentingVC = self.presentingViewController;
[self dismissViewControllerAnimated:YES completion:^{
      [presentingVC presentViewController:vc3 animated:YES completion:nil];
}];

此时您希望B发生什么情况?B应该被取消。使用代理设置,让B向a发送一条消息(通过代理),指示a应该取消B,然后显示C。a不是单个viewcontroller。B可以显示在我的应用程序的任何viewcontroller上。最好在父视图控制器中设置委托,并从中扩展其他委托,但由于特定类型的应用程序,我无法将所有viewcontroller扩展到单个viewcontroller。
DismissViewController初始化:完成:
-在这种情况下,完成可能对您有利。此时您希望B发生什么情况?B应该被取消。使用代理设置,让B(通过代理)向a发送消息指示A应关闭B,然后显示C。A不是单个viewcontroller。B可以显示在我的应用程序的任何viewcontroller上。在父视图控制器中设置委托并从中扩展其他视图控制器是一个好主意,但由于特定的应用类型,我无法将所有视图控制器扩展到单个视图控制器。
解除viewcontroller初始化:完成:
-在这种情况下,完成可能会对您有利非常好,这就是我想要的:)谢谢simaloneGreat,这就是我想要的:)谢谢simalone