Установить заголовок элемента кнопки задней панели в 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
}