BackButtonBarItem не работает должным образом в iphone - PullRequest
0 голосов
/ 29 июля 2011

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

 [mapNavigationItem setTitle:@"Tracking"];
[mapNavigationItem setRightBarButtonItem:nil];
[mapNavigationItem setLeftBarButtonItem:nil];

 UIBarButtonItem *stopTrackingBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Stop Tracking" style:UIBarButtonItemStylePlain target:nil action:@selector(stopTracking)];
[mapNavigationItem setBackBarButtonItem:stopTrackingBarButton];
[mapNavigationBar pushNavigationItem:mapNavigationItem animated:NO];
[stopTrackingBarButton release];

Кнопка stopTracking отображается на экране, но заголовок не отображается.Когда я нажимаю на кнопку stopTracking, она исчезает, а затем показывает заголовок.Может кто-нибудь, пожалуйста, скажите мне, что происходит ??

Хорошо, я думаю, что я не достаточно ясно,

У меня есть вид карты с кнопками на панели вкладок, когда приложение запускает панель навигации показывает 2 кнопки, когда я нажимаю на один из элементов панели вкладок, он должен очистить кнопки панели навигации и добавить только элемент кнопки панели возврата назад.Я успешен до этой стадии.Но когда я нажимаю на элемент кнопки BackBar, он исчезает и не выполняет назначенное ему действие.

FYI:

 IBOutlet UINavigationBar *mapNavigationBar;
 IBOutlet UINavigationItem *mapNavigationItem;

1 Ответ

0 голосов
/ 29 июля 2011

Если вы хотите использовать другой заголовок для кнопки «Назад», чем предыдущий заголовок навигации, то вам нужно изменить его непосредственно перед нажатием на новый контроллер вида и изменить его снова после нажатия.

Такчто-то вроде:

self.navigationItem.title = @"Stop Tracking";
[self.navigationController pushViewController:mapNavigationItem animated:NO];

и в представлении этого класса

self.navigationItem.title = @"Tracking";

Редактировать:

Если вы не используете кнопку Backbar для возврата контроллера навигации назад, не устанавливайтеон как backBarButton просто устанавливает его как левый элемент barButton.

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

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