Как установить текст кнопки "Назад" на UINavigationBar?
Возможный дубликат:
Как изменить заголовок кнопки "Назад" на панели навигации
Ситуация:
У меня есть UIViewController, который управляется навигационным контроллером. Я могу установить заголовок панели навигации, охватывающей UIViewController, просто позвонив self.title = @"title"
. Но, я хочу иметь возможность устанавливать текст кнопки назад на панели навигации тоже (для разных языков n 'таких..)
Проблема:
Я не знаю, как установить текст кнопки назад.
Вопрос:
Как установить кнопку "Назад" на панели UINavigation (программно не в IB)?
Ответы
Ответ 1
Способ setTitle - хотя может показаться сработавшим, неверен. Если вы внимательно обратите внимание, вы заметите, что элемент навигации изменится на новый заголовок, а новый вид будет анимирован в view через pushViewController. Тот факт, что вам нужно восстановить свой титул в viewWillAppear, является kludgy, что также указывает на его хакерскую природу.
Правильный способ - сделать следующее перед вашим pushViewController:
UIBarButtonItem *backButton = [[UIBarButtonItem alloc]
initWithTitle: @"Back Button Text"
style: UIBarButtonItemStyleBordered
target: nil action: nil];
[self.navigationItem setBackBarButtonItem: backButton];
[backButton release];
Ответ 2
Самый лучший и простой способ в соответствии с документацией на яблоко установить заголовок контроллера представления на то, что должна сказать спина, -
Пример:
Если viewController1
находится под viewController2
(а back button
на viewController2
будет viewController1
)
viewController1.title = @"something awesome";
back button
на viewController2
покажет "что-то удивительное"