2009-04-25 2 views
0

Я хочу показать контроллер навигации после нажатия кнопки. В каждом учебном пособии предполагается, что навигационный контроллер будет первым экраном, поэтому он свяжет его с делегатом приложения, но делегат приложения появится только в MainWindow.xib. Как вы, ребята, добавляете контроллер навигации в вид, отличный от MainWindow?Установите контроллер навигации без делегата приложения

Спасибо!

ответ

0

UINavigationController предназначен для навигации по иерархии представлений с помощью UIViewControllers. Если у вас нет корневого UIViewController, он не будет работать (и не имеет смысла). Если у вас есть UIViewController, вы просто отправляете сообщение об ошибке - (id)initWithRootViewController:(UIViewController *)rootViewController новому контроллеру навигации, проходящему в вашем UIViewController.

5

Вот пример кода, который можно расширить по ответу Роджера. Следующий метод связан с некоторым взаимодействием с пользователем в текущем контроллере представления (например, для составления электронной почты). Это позволит составить представление панели навигации сверху, а не кнопок кодирования внутри вашего пользовательского представления.

-(void) composeButtonPushed: (id) sender { 
    ComposeViewController *controller = [[ComposeViewController alloc] initWithNibName:@"ComposeView" bundle:nil]; 
    UINavigationController *composeNavController = [[UINavigationController alloc] initWithRootViewController:controller]; 
[self presentModalViewController:composeNavController animated:NO]; 
} 
Смежные вопросы