переход от контроллера навигации к контроллерам обычного представления

У меня есть контроллер представления на основе навигации (root?), Где я создал (программно) кнопку «Домой», которая переводит пользователя в главное меню.

Это главное меню представляет собой простой контроллер представления, а не часть контроллера навигации.

Чтобы соединить эти два, я использовал следующий код:

ViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"MainMenu"];
[self.navigationController pushViewController:vc animated:YES];

Несмотря на то, что он работает, он просто помещает контроллер представления в стек с панелью навигации.

Я пытаюсь отключить контроллер навигации и вернуться к началу.

Я пробовал использовать следующий код:

ViewController *viewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
[self presentModalViewController:viewController animated:YES];

Однако я получаю следующий сбой: причина: «Не удалось загрузить NIB в комплекте:» NSBundle

Мой вопрос в том, как я могу программно открыть другой контроллер представления и отключить контроллер навигации? Я не вижу кнопку, поэтому переходы невозможны.

Заранее благодарю


person nimbus    schedule 05.12.2012    source источник


Ответы (2)


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

ViewController *viewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]];

на месте:

 ViewController *viewController = [[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
person Vishal    schedule 05.12.2012

Когда вы используете push on from navigationContorller, он помещает ваше представление в стек, поэтому вы можете сделать одно - просто скрыть свой navigatioBar в viewWillAppear вашего представления.

self.navigationController.navigationBarHidden = YES;
person Rajneesh071    schedule 05.12.2012