У меня есть способ спрятать заднюю кнопку, используемую навигационным контроллером. Он установлен предыдущим контроллером, а не управляющим текущим представлением, и это затрудняет переход. Мне нужно было сделать это в режиме редактирования, чтобы я мог помешать пользователю перейти от экрана.Есть ли лучший способ скрыть объект backBarButtonItem?
if(self.editing) {
// Get rid of the back button
UIView *emptyView = [[UIView alloc] init];;
UIBarButtonItem *emptyButton = [[[UIBarButtonItem alloc] initWithCustomView:emptyView] autorelease];
[self.navigationItem setLeftBarButtonItem:emptyButton animated:YES];
} else {
// Restore the back button
[self.navigationItem setLeftBarButtonItem:nil animated:YES];
}
Есть ли лучший способ сделать это?
Это работает, спасибо. Существует одна небольшая разница - нет анимации. Я решил, что с этими версиями: [self.navigationItem setHidesBackButton: YES animated: YES]; [self.navigationItem setHidesBackButton: NO animated: YES]; –
Обязательно поместите этот код в ViewController, где вы хотите, чтобы кнопка была скрыта - не предыдущий контроллер (который требовался исходный вопрос). –