Objective c 我怎么知道;“后退”;按钮按下了吗?

Objective c 我怎么知道;“后退”;按钮按下了吗?,objective-c,uinavigationcontroller,uistoryboard,Objective C,Uinavigationcontroller,Uistoryboard,我使用带标识符的情节提要,当我想调用某个视图时,我使用以下代码: ViewB *view = [self.storyboard instantiateViewControllerWithIdentifier:@"View2"]; [self.navigationController pushViewController: view animated:YES]; 但是当我按下后退按钮时,我想做点什么,我怎么知道会发生这种情况呢?这取决于你到底在干什么 首先,你不能直接捕捉到这样的事件。除非您用自

我使用带标识符的情节提要,当我想调用某个视图时,我使用以下代码:

ViewB *view = [self.storyboard instantiateViewControllerWithIdentifier:@"View2"];
[self.navigationController pushViewController: view animated:YES];

但是当我按下后退按钮时,我想做点什么,我怎么知道会发生这种情况呢?

这取决于你到底在干什么

首先,你不能直接捕捉到这样的事件。除非您用自己的后退按钮替换后退按钮,否则请将您的后退按钮指定给您的某个操作,然后从那里开始。在这个动作中,你可以执行任何你想做的事情。您还需要亲自拨打
popViewControllerAnimated:

如果您真的不需要知道按钮被按下,只需要在视图控制器或其视图分别消失时做出反应,则可以覆盖
viewwilldiscome
viewdidecome
。但是请注意,每次将另一个视图推到您的视图上时,也会调用这些方法

viewWillUnload
viewDidUnload
可能更符合您的要求

但是,当视图控制器被销毁时,将调用
dealloc


根据你真正的需要,其中一个可以

我不能直接把事件处理回来吗。。所以我必须做我自己的后退按钮。我需要我的按钮,因为我需要向后视图传递一些值。为什么不能在ViewWillEnglish或viewWillUnload中传递该值?我使用了我自己的按钮,因为当我使用ViewWillEnglish时,没有发生我预期的情况,我传递了参数。。但我更喜欢自己做后退按钮,谢谢