Il y a plusieurs façons, donc la plupart du temps vous le faites vous-même avec différents modèles. Vous pouvez configurer un contrôleur de navigation dans le délégué de l'application comme suit:
self.viewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
self.navigationController = [[ UINavigationController alloc ] initWithRootViewController:self.viewController ];
self.window.rootViewController = self.navigationController;
[self.window makeKeyAndVisible];
Puis, quand vous voulez présenter une nouvelle vc vous pouvez le faire:
OtherViewController *ovc = [[ OtherViewController alloc ] initWithNibName:@"OtherViewController" bundle:nil ];
[ self.navigationController pushViewController:ovc animated:YES ];
Pour revenir faire ceci:
[ self.navigationController popViewControllerAnimated:YES ];
en ce qui concerne un rappel va d'une façon de le faire est de faire un protocole comme celui-ci quelque part dans votre projet:
@protocol AbstractViewControllerDelegate <NSObject>
@required
- (void)abstractViewControllerDone;
@end
Effectuez ensuite chaque contrôleur de vue que vous souhaitez un rappel à déclencher un délégué aka:
@interface OtherViewController : UIViewController <AbstractViewControllerDelegate>
@property (nonatomic, assign) id<AbstractViewControllerDelegate> delegate;
@end
Enfin lorsque vous présentez une nouvelle vc assigner en tant que délégué:
OtherViewController *ovc = [[ OtherViewController alloc ] initWithNibName:@"OtherViewController" bundle:nil ];
ovc.delegate = self;
[ self.navigationController pushViewController:ovc animated:YES ];
puis quand vous rejetez l'ovc, faites cet appel
[self.delegate abstractViewControllerDone];
[ self.navigationController popViewControllerAnimated:YES ];
Et dans le rootVC, qui est conforme au protocole vous m ade, il vous suffit de remplir cette méthode:
-(void) abstractViewControllerDone {
}
Vous venez de passer un appel. Cela nécessite beaucoup d'installation, mais d'autres options comprennent l'examen de NSNotifications et des blocs qui peuvent être plus simples en fonction de ce que vous faites.
Android Rocks, iOS Suce! (J'espère que mon patron ne voit pas ce commentaire XD) Enfin, je vois quelque chose qui est beaucoup plus facile à mettre en œuvre dans Android que iOS: D –
Oui, mais maintenant vous pouvez utiliser des blocs qui le font bien mieux –