Пользовательский текст в кнопке назад UINavigationController - PullRequest
4 голосов
/ 19 марта 2012

В моем приложении у меня есть UINavigationController с двумя UIViewControler (первый и второй).Первый контроллер представления содержит UITableView.При прикосновении к ячейке таблицы перемещается второй контроллер представления.То, что я хочу, это установить пользовательский текст на кнопку назад при втором просмотре.Вот код во втором представлении.

- (void)viewDidLoad
{
   [super viewDidLoad];
    self.navigationItem.leftBarButtonItem =
    [[[UIBarButtonItem alloc] initWithTitle:@"Go back"
                                      style:UIBarButtonItemStyleBordered
                                     target:nil
                                     action:nil] autorelease]; 
}

Проблема в том, что текст кнопки «Назад» изменяется, но контроллер второго вида не удаляется из стека при нажатии кнопки.

Ответы [ 3 ]

6 голосов
/ 19 марта 2012

Об этом уже много раз спрашивали:

Кнопка «Назад» (self.navigationItem.backBarButtonItem) должна быть установлена ​​вместо левой кнопки и не во втором контроллере, а в первом (корневом).

2 голосов
/ 19 марта 2012

Кнопка «назад» применяется к контроллеру, выполняющему нажатие. В этом случае вы захотите назначить пользовательскую кнопку возврата в вашем «первом» UIViewController. Когда вы нажимаете второй контроллер вида, кнопка «Назад» покажет правильный текст

1 голос
/ 19 марта 2012

Вы пытаетесь установить свойство левой кнопки.

Чтобы воспользоваться стандартными свойствами кнопки задней панели, просто используйте

self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];

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

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