UINavigationController appelle ces méthodes directement sur le contrôleur qui est poussé lorsque vous appelez pushViewController:animated : De même, UITabBarController appelle ces méthodes directement lorsque vous changez d'onglet, et UIViewController les appelle lorsque vous utilisez presentModalViewController:animated :. Elles sont également appelées lorsque la vue d'un contrôleur de vue est ajoutée à une fenêtre. Je n'ai jamais vu ces méthodes ne pas être appelées dans ces contextes spécifiques.
Gardez à l'esprit que ces méthodes ne sont appelées que sur le contrôleur qui est poussé ou présenté dans ces contextes spécifiques. Ces méthodes ne seront pas appelées, par exemple, si vous ajoutez la vue de votre contrôleur de vue en tant que sous-vue d'une vue autre que la UIWindow. La documentation d'Apple indique que les contrôleurs de vues sont destinés à être utilisés uniquement avec des vues plein écran, qui sont généralement présentées à l'aide de l'une des méthodes décrites ci-dessus. Il est possible d'ignorer les conseils d'Apple et d'associer un contrôleur de vue à une vue secondaire d'un autre contrôleur de vue, mais vous devrez déléguer manuellement les appels viewWill/DidAppear/Disappear du contrôleur de vue conteneur au contrôleur imbriqué.