2015-11-23 2 views
0

Так я установку AppDelegate загрузить вид корневой В, имеет Навигационный контроллер:навигация контроллер ноля во втором контроллере представления

self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
SecondViewController *vc = [[SecondViewController alloc] init]; 
self.window.rootViewController = [[UINavigationController alloc] initWithRootViewController:vc]; 
[self.window makeKeyAndVisible]; 
return YES; 

В моей SecondViewController У меня есть метод, который затем вызывает толчок для представления третьего контроллера вида:

ThirdViewController *thirdVC = [[ThirdViewController alloc]init]; 
[self.navigationController pushViewController: thirdVC animated:YES]; 

Хотя это не работает. При ближайшем рассмотрении свойство self.navigationController на SecondViewController равно нулю. Есть ли что-то, что я пропустил в AppDelegate, чтобы сделать это non-nil?

+0

попробуйте установить контроллер навигации отдельно и инициализировать с помощью контроллера вида и сделать его корневым видом! –

ответ

0

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

SecondViewController *vc = [[SecondViewController alloc] init]; 
UINavigationController *navigationController=[[UINavigationController alloc] initWithRootViewController:vc]; 
self.window.rootViewController = navigationController; 
[self.window makeKeyAndVisible]; 

Там нет необходимости составления вида корневого контроллера ноля в приложении делегата.

+1

Я пробовал это, и он не работает. Я имел в виду, что self.navigationController, похоже, ноль, не знаю почему. – user1686342

+0

r u пытается добавить программный контроллер навигации в VC или у вашего VC есть контроллер навигации в раскадровке? @ User1686342 –

+0

У меня нет раскадровки, я добавил программно с XIB – user1686342

1

Попробуйте это, поскольку я столкнулся с той же проблемой, но я решил это, установив одинаковое имя класса и идентификатор раскадровки под заголовком Custom Class вашего проекта.

registerViewController * regVC = [self.storyboard instantiateViewControllerWithIdentifier: @ "registerViewController"]; [self.navigationController pushViewController: regVC animated: YES];

Смежные вопросы