Моя навигационная панель не показывает кнопку возврата, если предыдущий контроллер представления не имеет названия
Как сделать так, чтобы он показывал кнопку "Назад" с заголовком "Назад"? Это показывает отлично, если предыдущий контроллер представления имеет заголовок.
3 ответа
Решение
Вы можете установить свойство backBarButtonItem предыдущего viewController. Так что, если у вас есть один view-контроллер "A", и вы нажимаете viewController "B". Кнопка "Назад" будет кнопкой backBarButtonItem на контроллере вида "A".
Самое простое решение в viewDidLoad представления, которое собирается выдвинуть новое, сделать следующее:
UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil];
self.navigationItem.backBarButtonItem = backBarButton;
[backBarButton release]
Работает отлично, без вопросов.
Вы также можете попытаться установить заголовок, прежде чем нажать новый контроллер представления. Например:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self setTitle:@"back"];
// Push new view controller...
}
а затем установите его обратно на @"" в вашем -viewWillAppear
,