我怎么知道" Back"按钮被按下了?

时间:2014-07-07 18:11:37

标签: objective-c uinavigationcontroller uistoryboard

我使用带有标识符的storyboard,当我想调用某个视图时,我使用这段代码:

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

但是当我按下后退按钮时我想做点什么,我怎么知道这发生了?

1 个答案:

答案 0 :(得分:0)

这取决于你真正的目标。

首先,你无法直接捕捉到这样的事件。除非您使用自己的后退按钮替换后退按钮,否则请将其分配给您的操作并从那里开始。在此操作中,您可以执行您想要执行的操作。你必须自己照顾popViewControllerAnimated:

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

viewWillUnloadviewDidUnload可能更符合您的要求。

但是,在销毁视图控制器时会调用dealloc

其中一个将取决于您真正需要的东西。