Как и многие другие, сегодня я начал программировать эксперимент, в котором у меня было бы два контроллера представления и я мог бы переключаться между ними. Я получил это, чтобы работать с помощью контроллера навигации, но у меня есть вопрос о реализации.
В моем TwoViewsAppDelegate я определяю контроллер навигации и rootViewController.
@interface TwoViewsAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
UINavigationController *navigationController;
RootViewController *rootViewController;
}
и настройте их следующим образом:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
rootViewController = [[RootViewController alloc] init];
navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
[window setRootViewController:navigationController];
[self.window makeKeyAndVisible];
return YES;
}
Затем в моем rootViewController я определяю уровень levelViewView Controller, который я
я собираюсь переключиться на, и кнопку, которую я собираюсь нажать, чтобы сделать
Переключение происходит:
@interface RootViewController : UIViewController {
UIButton *theButton;
Level2ViewController *level2ViewController;
}
Вот ответ на нажатие кнопки в RootViewController.m:
-(void)level1ButtonPressed:(id)sender
{
if (level2ViewController == nil)
{
level2ViewController = [[Level2ViewController alloc] init];
}
[self.navigationController pushViewController:level2ViewController animated:YES];
}
Проблема в том, что если будет уровень 3ViewController,
он должен быть определен как член level2ViewController и т. д.
как бы ни было много контроллеров представления, я хотел бы поместить их в стек.
Было бы неплохо иметь возможность определить все контроллеры представления в одном
место, желательно приложение делегат. Это возможно?