Установить заголовок элемента кнопки задней панели в ios

Я использую раскадровки в своем приложении, и если я задаю свойство title класса ViewController, эта строка будет отображаться в виде текста моей кнопки назад, когда я нажимаю SecondViewController, как я могу это изменить?, я хочу введите другой заголовок для кнопки "Назад".

Я использовал это, но он не работает:

UIBarButtonItem *btnBack = [[UIBarButtonItem alloc]
                                   initWithTitle:@"Back" 
                                   style:UIBarButtonItemStyleBordered
                                   target:self
                                   action:nil];
    [self.navigationItem setBackBarButtonItem: btnBack];

Пожалуйста, помогите мне

Ответ 1

Попробуйте это,

Objective-C:

UIBarButtonItem *btnBack = [[UIBarButtonItem alloc]
                            initWithTitle:@"Done"
                            style:UIBarButtonItemStyleBordered
                            target:self
                            action:nil];
self.navigationController.navigationBar.topItem.backBarButtonItem=btnBack;

Swift:

var btn = UIBarButtonItem(title: "Done", style: .Plain, target: self, action: "backBtnClicked")

self.navigationController?.navigationBar.topItem?.backBarButtonItem=btn

Ответ 2

Когда вы используете Storiesboards, вы можете изменить текст элемента кнопки на левой панели или кнопку "Назад" без кода. Вам, очевидно, понадобится UINavigationController в вашей раскадровке, чтобы вы могли нажимать и всплывать.

  • Выберите объект элемента навигации для контроллера представления источника.
  • Введите текст в опцию Back Button в окне инспектора справа.

Затем, когда представление выводится из этого представления, он будет использовать этот набор названий.

enter image description here

Ответ 3

Установите элемент backBarButtonItem в элемент навигации предыдущего viewController. Настройка topItem работает только при первом просмотреWillAppear. Пожалуйста, проверьте это сообщение для подробностей: iOS Установить панель навигации Название кнопки назад

NSArray *viewControllerArray = [self.navigationController viewControllers];
// get index of the previous ViewContoller
long previousIndex = [viewControllerArray indexOfObject:self] - 1;
if (previousIndex >= 0) {
    UIViewController *previous = [viewControllerArray objectAtIndex:previousIndex];
    previous.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc]
                                                     initWithTitle:backButtonTitle
                                                     style:UIBarButtonItemStylePlain
                                                     target:self
                                                     action:nil];
}

Ответ 4

Попробуйте изменить заголовок первого контроллера представлений, в котором вы нажимаете второй контроллер представления, и установите символ на старый, когда u поп.

Ответ 5

Попробуйте следующее:

    UIBarButtonItem *btnBack = [[UIBarButtonItem alloc]
                                       initWithTitle:@"Back" 
                                       style:UIBarButtonItemStyleBordered
                                       target:self
                                       action:@selector(backButtonClicked:)];
        [self.navigationItem setLeftBarButtonItem: btnBack];


   -(void)backButtonClicked:(UIBarButtonItem*)sender
     {
        //do ur stuff
     }