【问题标题】:Performing action in root view controller after dismissing modal view controller关闭模态视图控制器后在根视图控制器中执行操作
【发布时间】:2012-12-11 17:10:58
【问题描述】:

如果我想在关闭模态视图控制器后立即执行某种操作,我应该将代码放在哪里?我知道它不会在 viewDidLoad 中,因为 rootviewcontroller 已经加载到内存中(因为它只是暂时被模态视图隐藏)并且我不确定 viewWillAppear 或 viewDidAppear 因为当然视图已经加载到内存中.

【问题讨论】:

  • 为什么不在dismissModalViewController:animated:的电话之后立即把它写下来?
  • 因为我想做的是从根视图推送另一个视图控制器,而我不能从模态类中做到这一点。我试着把代码放在dismissModalViewController之后,它只是忽略了它。

标签: objective-c cocoa-touch modalviewcontroller


【解决方案1】:

当模式被解除时,ViewWillAppear 将在调用者视图控制器中再次被调用,因此使用一些逻辑可能是一个好地方。

否则,您可以考虑实现委托,或者如果不考虑同步性,您可以发送自定义 NSNotification 以被模态调用者捕获。

【讨论】:

  • 真的吗?我不知道在关闭模式后再次调用 viewWillAppear 。我会试试这个并告诉你它是如何工作的。谢谢。
  • 工作得很好,谢谢!!
  • 好!但是请注意,如果您的目标是 iPad 应用程序,我想 viewWillAppear 不会被调用,因为模式没有覆盖整个屏幕,并且调用者不会调用 viewWillDisappear。在这种情况下,您除了委托之外别无选择。
猜你喜欢
  • 1970-01-01
  • 2011-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-01
相关资源
最近更新 更多