Для приложения, которое я разрабатываю, мне нужно отобразить пользовательскую кнопку «Назад» в панели навигации. У меня есть кнопка актив в качестве PNG изображения, и я пишу этот код:Пользовательская кнопка возврата в UINavigationController
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
UIButton *backButton = [UIButton buttonWithType:UIButtonTypeCustom];
backButton.frame = CGRectMake(0, 0, 79, 29.0);
[backButton setImage:[UIImage imageNamed:@"button_back.png"] forState:UIControlStateNormal];
self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithCustomView:backButton] autorelease];
}
Когда я нажимаю этот вид контроллер, кнопка на заказ не появляется, а вместо этого я получаю стандартная кнопка назад с названием этого контроллера представления внутри.
Вещи, которые я уже пробовали:
- Рскладной проверить, что кнопка
backButton
создается должным образом, путем добавления его в иерархии представлений. Он отображается правильно. - В том же методе, изменил свойство
title
navigationItem
и подтвердил, что он меняет (как и ожидалось) содержимое моей кнопки возврата.
Может ли кто-нибудь определить, что я делаю неправильно? Удалось ли использовать пользовательское изображение в качестве кнопки «Назад» с помощью UINavigationController
?
Я думаю, что хочу «backBarButtonItem». Я хочу контролировать, как будет выглядеть обратная кнопка, когда 'UIViewController' будет нажата в стек' UINavigationController'. Действительно, незначительные изменения в 'backBarButtonItem' работают так, как ожидалось, это просто нестандартное представление, которое не придерживается. – pgb
заднийBarButtonItem свойство работает. Просто нужно установить его в нужное время. – SundayMonday