UINavigationController initiWithNibName не загружает дизайн из .xib файла - PullRequest
0 голосов
/ 05 ноября 2011

В делегате приложения, внутри функции didFinishLaunchingWithOptions, у меня есть следующий код для загрузки представления, которое является UINavigationController:

 UINavigationController *navcon=[[UINavigationController alloc] initWithNibName:@"ThirdView" bundle:[NSBundle mainBundle]];

FirstView *fv=[[FirstView alloc] init];

[navcon pushViewController:fv animated:NO];

[fv release];


[self.window addSubview:navcon.view];


[self.window makeKeyAndVisible];
return YES;

.xib "ThirdView ", то есть представление UINavigationController, на самом деле выглядит так в Интерфейсном Разработчике:

enter image description here

Но когда я запускаю приложение, приложение выглядит так:

enter image description here

Почему приложение не загружает дизайн панели навигации «ThirdView.xib» UINavigationController, как я его разработал в Интерфейсном Разработчике?

Обновление: вот как «FirstView» выглядит в IB: enter image description here

Ответы [ 2 ]

0 голосов
/ 05 ноября 2011

Я не верю, что то, что вы пытаетесь сделать, действительно. UINavigationController предназначен для использования в качестве контейнера для других представлений. Вы создаете UINavigationController, а затем добавляете в него свой контент, помещая в него контроллеры представления с помощью pushViewController: animated :. Это контроллеры push-представления, созданные с помощью файлов .xib.

0 голосов
/ 05 ноября 2011

Каждый UIViewController в контроллере навигации отвечает за предоставление контента для отображения на панели навигации.

По вашему мнению, метод didLoad вашего FirstView делает следующее

self.navigationItem.title = @"your title";

Но можетВы также публикуете, как ваш FirstView выглядит в IB?


Лично я никогда не настраивал панель навигации в IB.Вот как вы можете установить 2 кнопки в коде для панели навигации

self.navigationItem.leftBarButtonItem = self.editButtonItem;

UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertNewObject)];
self.navigationItem.rightBarButtonItem = addButton;
[addButton release];

Этот код взят из подкласса UITableViewController.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...