Создать UINavigationBar без использования [Projectname] AppDelegate? - PullRequest
0 голосов
/ 10 июня 2011

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

Многие учебные пособия показывают, что необходимо подключить представление[self window], которое, кажется, работает только в файлах AppDelegate, но когда я попытался поместить код * в viewDidLoad , я никогда не смог создать без ошибок.* Я видел это в нескольких приложениях, но как это сделать (программно или с IBuilder)?Спасибо!

Пример кода, который я пробовал в viewDidLoad

UINavigationController *navigationController = [[UINavigationController alloc]  initWithRootViewController:[self viewController]]; 
[self.window addSubview:navigationController.view];

1 Ответ

0 голосов
/ 10 июня 2011

Вы не показываете достаточно кода, чтобы понять, как вы это делаете, но мне кажется, что вы показываете контроллер модально, а затем пытаетесь добавить в качестве подпредставления к его виду контроллер навигации.

Вы можете попробовать модально нажать контроллер навигации (из делегата приложения или там, где это имеет смысл для вашего приложения):

(IBAction) navigateToSecondaryViewController {
     if (secondaryViewController == nil) {
         informationTableViewController = [[SecondaryViewController alloc]
                initWithNibName:@"SecondaryViewController" 
                bundle:[NSBundle mainBundle]];
         secondaryViewController.delegate = self;
      }

     if (navController == nil) {
           navController = [[UINavigationController alloc]
           initWithRootViewController:secondaryViewController];
     }

     [self presentModalViewController:navController animated:YES];

 }

Полный пример здесь .

...