【问题标题】:pop and refresh viewcontroller弹出和刷新视图控制器
【发布时间】:2012-07-08 06:02:22
【问题描述】:

我有三个视图控制器。当我到达第三个视图控制器时,我使用 poptorootviewcontroller 弹出到我的第一个视图控制器,但是当我在我的第三个视图控制器中使用 popviewcontroller 时(我想回到我的第二个视图控制器)它的弹出但是我在我的第二个视图控制器在那里,我希望第二个视图控制器是新的(重置此视图控制器),就像要重新加载此视图控制器一样。 这是我在第三个视图控制器中的代码:

-(IBAction)playAgain:(id)sender
{
   [self.navigationController popViewControllerAnimated:YES];
}

我该怎么做? 谢谢!

【问题讨论】:

  • 您可以在第二个视图控制器中执行此操作。当它推动第三个视图控制器时,让它重置所有数据。然后,如果用户弹回它,它看起来就像一个新的。
  • 不,它不起作用,可能是因为当我在第二个视图中使用推送视图控制器时,我还向我的第三个视图控制器“发送”了一些变量...

标签: objective-c uiviewcontroller popviewcontroller


【解决方案1】:

在第二个 viewcontroller 中,你应该编写一个 viewWillAppear 方法,如下所示,

-(void) viewWillAppear:(BOOL)animated
{
     [super viewWillAppear:animated];
     //set initial values here  
}

这个方法会在你的控制器即将出现时调用。因此,虽然第三个 viewcontroller 将被弹出,但此方法将被调用并且您可以重置值。

【讨论】:

  • 但是如何重置整个视图控制器?
  • 与您一开始设置它们的方式相同。
  • @Apurv 我尝试了这段代码的 sn-p 以在处理 popViewController 时重新加载视图控制器,但它没有重新加载视图控制器数据。你能解释一下吗
猜你喜欢
  • 2011-10-13
  • 1970-01-01
  • 2013-03-31
  • 2012-08-17
  • 2016-07-28
  • 2018-04-02
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
相关资源
最近更新 更多