У меня есть этот код:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
{
        let controller = SectionsController()
        self.navigationController?.pushViewController(controller, animated: true)
}

В моем классе :

class HomeController: UITabBarController,UITableViewDataSource,UITableViewDelegate, AddingProtocoleDelegate 

И я хочу изменить заголовок кнопки возврата на "Back"

Я пробовал это в разделе Controller viewDidLoad:

        self.navigationItem.backBarButtonItem?.title = "Back"
        self.navigationController?.navigationBar.backItem?.title = "Back"
        self.navigationController?.navigationItem.title = "Back"
        let backButton = UIBarButtonItem(
            title: "Back",
            style: UIBarButtonItemStyle.plain,
            target: nil,
            action: nil
        );
        self.navigationController?.navigationBar.topItem?.backBarButtonItem = backButton;

Но любые решения не сработали.

Помоги пожалуйста.

1
Mathis Delaunay 18 Мар 2017 в 15:38

2 ответа

Лучший ответ

Используйте это self.navigationItem.leftBarButtonItem = backButton

0
Alan 18 Мар 2017 в 13:16

Кнопка «Назад» принадлежит предыдущему контроллеру представления, а не тому, который в данный момент представлен на экране. Попробуйте это и посмотрите, работает ли это для вас.

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let backItem = UIBarButtonItem()
backItem.title = "Back"
navigationItem.backBarButtonItem = backItem
}

Свифт 3:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let backItem = UIBarButtonItem()
backItem.title = "Back"
navigationItem.backBarButtonItem = backItem
}
1
George 19 Мар 2017 в 09:30