Изменить название элемента панели навигации.

let button = UIButton() button.setImage(UIImage(named: "coin_icon"), forState: UIControlState.Normal) button.addTarget(self, action:#selector(Profile.goCoin), forControlEvents: UIControlEvents.TouchDragInside) button.frame=CGRectMake(0, 0, 30, 30) let barButton = UIBarButtonItem(customView: button) self.navigationItem.rightBarButtonItem = barButton 

Мой код – это добавить кнопку панели на панели навигации.

Однако мне нужно изменить название кнопки в функции

 func changetitle() { self.navigationItem.rightBarButtonItem?.title = "Change" } 

Я пробовал это, но не работал.

Как я могу изменить название этой кнопки?

Вам нужно получить доступ к UIButton из UIBarButtonItem и изменить заголовок UIButton .

Я не очень хорошо знаю Swift, поэтому следующее – это лишь грубая схема, но она должна дать вам представление:

 func changetitle() { let item = self.navigationItem.rightBarButtonItem let button = item!.customView as! UIButton button.setTitle("Change" forState:.Normal) } 

Кнопки в iOS не могут иметь заголовок и изображение одновременно с использованием представлений по умолчанию, как у вас здесь. Есть много способов решить эту проблему (включая создание настраиваемого элемента управления или поиск его там)

Я бы порекомендовал хотя бы сделать кнопку для значка и кнопку для текста и заставить их выполнять одно и то же действие.

Повторно запустите панель, как показано ниже. ,

 self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "title", style: UIBarButtonItemStyle.plain, target: self, action: #selector(actionMethod))