检测哪个控制器已经在根视图中弹出
问题描述:
是否可以检测到哪个'UIViewController'已经在根视图控制器中弹出?我有3个视图控制器,A-> B-> C。 B和C都有弹出操作。是否有可能检测到B或C是否在A中弹出?检测哪个控制器已经在根视图中弹出
答
我更喜欢使用代表这个东西likfe NSNotificationCenter
或NSUserDefaults
。
你定义一个协议,其具有这样的方法:
- (void)willPopToRootFromViewController(UIViewController *)fromViewController;
您实现阿该方法中,并且另一个视图控制器弹出之前调用此方法。
你可以找到一个关于如何实现代理here的完整示例。
你可以通过简单的'NSUserDefaults'标志来设置它,这将是最简单的方法来做这样的事情。 –
你可以使用'NSNotificationCenter'或'NSUserDefaults'来做到这一点。 –
我会设置一个控制器作为** UINavigationControllerDelegate **并实现:* - navigationController:willShowViewController:animated:*或* - navigationController:didShowViewController:animated:* – DanielS