Я думаю, вам нужно установить это свойство до , когда вы нажимаете или извлекаете контроллер представления, чтобы повлиять на следующий контроллер представления, установив его для текущего viewcontroller в viewWillAppear слишком поздно.
Редактировать: это похоже на ошибку в 4.2! Кнопка возврата остается скрытой как в симуляторе 4.2, так и на устройстве с 4.2, но она работает в симуляторах 3.2, 4.1 и 4.0!
Вот код, где при нажатии на ВК со скрытой кнопкой возврата:
- (IBAction) goto2nd
{
SecondVC *vc = [[[SecondVC alloc] initWithNibName:@"SecondVC" bundle:nil] autorelease];
vc.navigationItem.hidesBackButton = YES;
[self.navigationController pushViewController:vc animated:YES];
}
Это все, что должно быть необходимо, каждый VC имеет собственный навигационный элемент, это не глобальная настройка, поэтому вам не нужно беспокоиться об его отмене для восстановления кнопки возврата (по крайней мере, при возврате к VC, где он установлено на «НЕТ»).