viewDidAppear não sendo chamado

No meu UIViewController principal, estou adicionando um controlador de visualização de tela inicial como subvisualizações:

   UINavigationController *controller = [[UINavigationController alloc] initWithRootViewController:vc];
        controller.navigationBarHidden = YES;
        controller.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);
        [self addChildViewController:controller];
        [self.view insertSubview:controller.view atIndex:0];
        [controller didMoveToParentViewController:self];    

O problema é que viewDidAppear e viewWillAppear são chamados apenas uma vez, assim como viewDidLoad. Por que é isso? Como faço isso funcionar?

Basicamente dentro de vc não estou recebendo viewDidAppear nem viewWillAppear.

Eu também tentei adicionar o UIViewController sem o controlador de navegação e ele ainda não funciona:

vc.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height);
        [self addChildViewController:vc];
        [self.view insertSubview:vc.view atIndex:0];
        [vc didMoveToParentViewController:self];    

questionAnswers(6)

yourAnswerToTheQuestion