Мне кажется, что лучший способ сделать это - управлять переключением UINavigationController
в делегате приложения.Здесь вы также можете позаботиться обо всем, что вам нужно сделать во время этого процесса.Если есть конечное число UINavigationController
s, которые отключаются, я мог бы просто иметь несколько способов позаботиться об этом:
Делегат приложения .h файл:
@property (nonatomic, retain) UINavigationController *currentNavController;
Файл делегата приложения .m:
@synthesize currentNavController = _currentNavController;
- (void)loadNavControllerOne
{
self.currentNavController = ...; // Set up your new controller
self.window.rootViewController = self.currentNavController;
}
- (void)loadNavControllerTwo
{
// Similar to -(void)loadNavControllerOne
}
Сокращенный, но вы поняли идею.Это изменится, если вам нужно разделить состояние между этими контроллерами.А вы?
РЕДАКТИРОВАТЬ: Чтобы получить доступ к делегату приложения, позвоните [[UIApplication sharedApplication] delegate]
.