Кроме того, если ваше представление находится в стеке контроллера Nav, но вы (авто) выпустили его там, где его не должно быть, self.navigationController может быть равен нулю. Doh!

г: Создайте новый UIViewController:
- Xcode -> Новый файл ... -> Сенсорный класс Cocoa -> UIViewController
- Имя: MyViewController

2. Шаг: Перетащите «Контроллер навигации» (UINavigationController) из библиотеки в MyViewController.xib.

3.Step: Я уверен, что мне нужно что-то сделать, чтобы правильно подключить навигационный контроллер, не так ли?

4.Step: Попробуйте запустить новый View Controller как модальное диалоговое окно:

MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
NSLog(@"navContr: %@", myViewController.navigationController);
[self.navigationController presentModalViewController: myViewController animated:YES]; 

Результат: "navContr: nil"

5.Step: Вы можете увидеть новое модальное представление (MyViewController), но там нет NavigationController и UINavigationBar.

Спасибо большое за помощь!

ОБНОВЛЕНИЕ 1:

6.Step: Я установил новый UIViewController (ViewNavi2) как «Root View Controller»:

7.Step: Я определяюIBOutlet UINavigationController *navigationController в классе MyViewController и настройте xib: Navigation Controller -> Подключения -> Ссылки на розетки

Но мой навигационный контроллер все еще ноль :-(

MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
NSLog(@"navContr: %@", myViewController.navigationController);
// -> "navContr: nil"

Ответы на вопрос(3)

Ваш ответ на вопрос