检测哪个控制器已经在根视图中弹出

问题描述:

是否可以检测到哪个'UIViewController'已经在根视图控制器中弹出?我有3个视图控制器,A-> B-> C。 B和C都有弹出操作。是否有可能检测到B或C是否在A中弹出?检测哪个控制器已经在根视图中弹出

+0

你可以通过简单的'NSUserDefaults'标志来设置它,这将是最简单的方法来做这样的事情。 –

+0

你可以使用'NSNotificationCenter'或'NSUserDefaults'来做到这一点。 –

+0

我会设置一个控制器作为** UINavigationControllerDelegate **并实现:* - navigationController:willShowViewController:animated:*或* - navigationController:didShowViewController:animated:* – DanielS

我更喜欢使用代表这个东西likfe NSNotificationCenterNSUserDefaults

你定义一个协议,其具有这样的方法:

- (void)willPopToRootFromViewController(UIViewController *)fromViewController; 

您实现阿该方法中,并且另一个视图控制器弹出之前调用此方法。

你可以找到一个关于如何实现代理here的完整示例。

+0

你如何访问'B'中的'A'?我看了一下这个链接,非常有帮助 – DevC

+0

你是什么意思?'fromViewController'就是你弹出的视图控制器(又名'B'或'C '),并且自我将是'A' –

+0

我的意思是你将如何调用上述方法? – DevC