Моя навигационная панель не показывает кнопку возврата, если предыдущий контроллер представления не имеет заголовка - PullRequest
2 голосов
/ 24 апреля 2011

Как мне сделать так, чтобы отображалась кнопка «Назад» с заголовком «Назад»?Это прекрасно показывает, есть ли у предыдущего контроллера вида заголовок.

Ответы [ 3 ]

4 голосов
/ 24 апреля 2011

Самое простое решение - viewDidLoad для представления, которое собирается выдвинуть новое, выполните следующее:

UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = backBarButton;
[backBarButton release]

Работает отлично, без вопросов.

2 голосов
/ 24 апреля 2011

Вы можете установить свойство backBarButtonItem предыдущего viewController. Так что, если у вас есть один view-контроллер "A" и вы нажимаете viewController "B". Кнопка «Назад» будет кнопкой backBarButtonItem на контроллере представления «A».

0 голосов
/ 24 апреля 2011

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

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  [self setTitle:@"back"];
  // Push new view controller...
}

и затем установите его обратно в @ "" в вашем -viewWillAppear.

...