1

J'ai utilisé un segue "push" à partir d'un ViewController après avoir utilisé le menu dans XCode Editor> Embed In> Navigation Controller. J'ai un bouton sur cette vue présentée qui glisse du côté que je voudrais rejeter la vue poussée. Je me rends compte qu'il existe une méthode:Obtenir le contrôleur de navigation à partir de l'éditeur> Incorporer dans> Contrôleur de navigation

[self.navigationController popViewControllerAnimated:YES]; 

Mais je n'ai pas un pointeur sur le contrôleur de navigation I ajouté dans le menu XCode ..

Mon App délégué a contrôleur de vue racine de la fenêtre comme ma principale ViewController - donc je n'ai rien fait après avoir ajouté le contrôleur de navigation depuis le menu XCode.

Comment puis-je obtenir un pointeur vers ce contrôleur de navigation ajouté afin que je puisse appeler la méthode pop par programmation sur le contrôleur de vue poussé? Merci!

Répondre

1

C'est la fonction correcte à utiliser, et retournera automatiquement le contrôleur de navigation dans lequel vous avez "poussé".

De l'UIViewController class reference:

NavigationController
L'ancêtre le plus proche dans la vue hiérarchique du contrôleur qui est un contrôleur de navigation. (Lecture seule)

@property(nonatomic, readonly, retain) UINavigationController * NavigationController

Discussion
Si le récepteur ou l'un de ses ancêtres est un enfant d'un contrôleur de navigation, cette propriété contient le contrôleur de navigation propriétaire. Cette propriété est nulle si le contrôleur de vue n'est pas intégré dans un contrôleur de navigation.

+0

Merci, cela a fonctionné. – PhilBot

Questions connexes