Кажется, что self.navigationItem
просматривается только UINavigationController (контроллер, а не панель). Сам бар не собирается это проверять.
Так что вы должны либо
1) Используйте настоящий UINavigationController, который поставляется с собственной панелью навигации и будет обрабатывать элементы навигации для вас. В этом случае сработает код self.navigationItem, приведенный выше. (вы должны рассмотреть self.navigationItem.title = @"Status";
)
Если ваш UITableViewController будет загружать и выключать содержимое стека навигации, это путь, который вы должны выбрать в любом случае.
2) Используйте собственный элемент навигации UINavigationBar. За исключением того, что он, кажется, не поставляется с элементом навигации, поэтому вы должны добавить свой собственный:
UINavigationItem *navItem = [[UINavigationItem alloc] initWithTitle:@"Status"];
[navBar setItems:[NSArray arrayWithObject:navItem]];
[navItem release];
и затем установите левую и правую кнопки как
[navBar topItem].leftBarButtonItem = add;
[add release];
[navBar topItem].rightBarButtonItem = home;
[home release];
Работа с UINavigationController / UINavigationBar / UINavigationItem может сбивать с толку, но, к счастью, Apple имеет достойное объяснение того, как все это работает вместе, в верхней части своей документации UINavigationController .