【问题标题】:Getting -(void) viewDidAppear:(BOOL)animated to be called获取 -(void) viewDidAppear:(BOOL) 动画被调用
【发布时间】:2011-11-23 23:00:54
【问题描述】:

我加了

-(void) viewDidAppear:(BOOL)animated
{
    NSLog(@"view did appear");
}

到我的一个视图控制器。其实他们都有。

当我从子视图控制器“C”返回到子视图控制器“B”时,我希望看到在“B”中调用 viewDidAppear。

但它没有被调用。即使在作为“B”的父级的视图控制器“A”中也不会调用它。

我可以做些什么来让它工作吗?

该设计是一个 TABBAR 控制器,其中嵌入了一个 NAVBAR 控制器。

非常感谢, -代码

【问题讨论】:

标签: iphone objective-c ios xcode


【解决方案1】:

当你第一次设置你的 tabBarController 时,你必须写一个对 viewDidAppear 的显式调用。例如:

UITabBarController *tabBarController = [[UITabBarController alloc] init];
UINavigationController *navControllerObject = [[UINavigationController alloc]initWithRootViewController:viewControllerObject];
[viewControllerObject viewDidAppear:YES];

您只需在设置 tabBar 时编写它,委托方法将按预期调用,然后继续。

【讨论】:

    【解决方案2】:

    这将取决于您如何返回视图控制器,这些委托方法由拥有的视图控制器(导航或标签栏)发送。因此,如果您不使用(例如...)导航控制器从视图堆栈中推送和弹出视图控制器,那么您将不会收到这些消息。

    编辑 重新阅读后听起来您正在使用基本的标签栏控制器设置,请确保您通过设置 vc 来让标签栏控制器完成其工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 2017-06-12
      • 2012-07-25
      • 1970-01-01
      相关资源
      最近更新 更多