2016-04-28 4 views
0

У меня было приложение для iPhone (с раскадрой), в котором я использую view-controller в качестве начального контроля. Затем после этого я добавил сцену контроллера вида и встроил в нее навигационный контроллер. Я хочу, чтобы навигатор-контроллер был rootviewcontroller окна. Когда я пытаюсь получить доступ к этому контроллеру представления программным образом и нажимаю на него другой диспетчер управления, навигационного контроллера там нет, я также получаю предупреждение о недоступности сцены на этом контроллере навигации, встроенном в этот контроллер представления. Я пытаюсь для достижения этого вот такДоступ к встроенному контроллеру просмотра UInavigationcontroller?

` 
    UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" 
                  bundle: nil]; 

    UINavigationController *controller =(UINavigationController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"Newcontroller"]; 
    NSLog(@"%@",[controller topViewController]); 

    [appdelegate.window setRootViewController:controller]; 
` 

Может ли кто-нибудь помочь мне в доступе к этому контроллеру навигации программно?

+1

Возьмите пользовательский класс UINavigationController. –

ответ

1

вам нужно сделать, как

Шаг-1

Создайте специальный класс NavigationController, например NavigationViewController (подкласс UINavigationController).

Шаг-2

Присвоить имя класса для этого NavigationController в идентичности инспектора.

Шаг-3

Установите раскадровку ID для данного класса в идентичности инспектор Xcode.

Шаг-4

Наконец доступ к классу через код, например

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" 
                 bundle: nil]; 

NavigationViewController *controller =(NavigationViewController *)[mainStoryboard instantiateViewControllerWithIdentifier:@"navigate"]; 
NSLog(@"%@",[controller topViewController]); 

[appdelegate.window setRootViewController:controller]; 

, например

enter image description here

+0

или мы можем установить это как начальный контроллер? – hacker

+0

Насколько мне известно, вам это не нужно, это усложнит работу –

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