Как правильно настроить UINavigationController и добавить представления в стек

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

self. window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
UINavigationController *navVC = [UINavigationController new];
UIStoryboard *mStoryboard = [UIStoryboard storyboardWithName:@"your storyboard name" bundle:nil];

ViewController *VC1 = [mStoryboard instantiateViewControllerWithIdentifier:@"VC"];


[navVC setViewControllers:[NSArray arrayWithObject:VC1] animated:NO];
[self. window setRootViewController:navVC];

[self. window makeKeyAndVisible];

return YES;
  }

Теперь это создает navigationController, но когда я пытаюсь отобразить secondViewController, он отображает правильную панель навигации для этого вида, но вместо фактического вида я вижу черный фон. Добавление secondViewController в качестве подпредставления работает, но когда я сейчас пытаюсь отобразить третий, оно снова отображает правильную панель навигации с заданным заголовком для этого представления, но я все еще вижу представление secondViewController. Теперь мой вопрос, как мне добавить viewController к navigationController, чтобы они отображались правильно? я должен даже добавить их? Я прочитал ссылку на класс Apple, но там нет никакого кода.

1 ответ

Решение

Попробуй это:

self. window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
UIStoryboard *mStoryboard = [UIStoryboard storyboardWithName:@"your storyboard name" bundle:nil];
ViewController *VC1 = [mStoryboard instantiateViewControllerWithIdentifier:@"VC"];
UINavigationController *navVC = [[UINavigationController alloc] initWithRootViewController:VC1];
[self. window setRootViewController:navVC];
[self. window makeKeyAndVisible];
return YES;

Теперь внутри VC1 нажмите следующий контроллер представления в ваш стек с

// EDIT:
UIStoryboard *mStoryboard = [UIStoryboard storyboardWithName:@"your storyboard name" bundle:nil];
ViewController *vC2 = [mStoryboard instantiateViewControllerWithIdentifier:@"VC2"];
[self.navigationController pushViewController:vC2 animated:YES];
Другие вопросы по тегам