我希望在视图控制器弹出或推入导航控制器堆栈时收到通知. 我试着用 - (void)setViewControllers:(NSArray *)viewControllers 但我失败了. 而且我不想使用委托方法来实现这一点…… 您可以继承UIN
我试着用
- (void)setViewControllers:(NSArray *)viewControllers
但我失败了.
而且我不想使用委托方法来实现这一点……
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated { [[NSNotificationCenter defaultCenter] postNotificationName:@"poped" object:nil userInfo:@{}]; return [super popToRootViewControllerAnimated:animated]; } - (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated { [[NSNotificationCenter defaultCenter] postNotificationName:@"poped" object:nil userInfo:@{}]; return [super popToViewController:viewController animated:animated]; } - (UIViewController *)popViewControllerAnimated:(BOOL)animated { [[NSNotificationCenter defaultCenter] postNotificationName:@"poped" object:nil userInfo:@{}]; return [super popViewControllerAnimated:animated]; } - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated { [[NSNotificationCenter defaultCenter] postNotificationName:@"pushed" object:nil userInfo:@{}]; return [super pushViewController:viewController animated:animated]; }
我留下了像@ {}这样的用户信息,但是你可以放置一些东西,如你想要的那样,就像添加或删除的控制器一样.
我不知道,但我认为你应该三思而后行,如果你的架构需要通知这种情况.
此外,您必须检查pop方法是否相互调用,在这种情况下,您可以获得一个pop的一些通知.