Iphone 获取-(void)viewdide显示:(BOOL)要调用的动画

Iphone 获取-(void)viewdide显示:(BOOL)要调用的动画,iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我补充说 -(void) viewDidAppear:(BOOL)animated { NSLog(@"view did appear"); } 到我的一个视图控制器。实际上他们都有 当我从子viewcontroller“C”返回到partent viewcontroller“B”时,我希望看到ViewD似乎在“B”中调用 但它没有被调用。即使在作为“B”父级的viewcontroller“A”中也不会调用它 我能做些什么来让它工作吗 该设计是一个TABBAR控制器,其中嵌入了一个NA

我补充说

-(void) viewDidAppear:(BOOL)animated
{
    NSLog(@"view did appear");
}
到我的一个视图控制器。实际上他们都有

当我从子viewcontroller“C”返回到partent viewcontroller“B”时,我希望看到ViewD似乎在“B”中调用

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

我能做些什么来让它工作吗

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

非常感谢,,
-代码

这取决于您返回视图控制器的方式,这些委托方法由拥有的视图控制器(导航或选项卡栏)发送。因此,如果您没有使用(例如…)导航控制器从视图堆栈中推送和弹出视图控制器,则不会收到这些消息

编辑
重新阅读后,听起来您使用的是基本的tabbar控制器设置,请确保您只需设置vc即可让tabbar控制器完成其工作。

您必须在首次设置tabbar控制器时编写一个对ViewDidDisplay的显式调用。例如:

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

您只需在设置选项卡栏时编写它,委托方法将按预期调用,然后再调用。

尝试调用
[super viewdide:animated]在该方法中,请查看此。