Быстрое задание названия UIButton независимо от состояния

Есть ли способ в Swift изменить название/ярлык UIButton для всех состояний? Я устанавливаю заголовок UIButton на что-то, но когда он не подсвечен, метка меняется на то, что было ранее.

Спасибо

Ответ 1

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

Из документов

Если для состояния не указан заголовок, по умолчанию используется заголовок, связанный с состоянием UIControlStateNormal. Если значение для UIControlStateNormal не задано, для свойства по умолчанию используется системное значение.

Так что просто позвоните

button.setTitle("Button text", for:.normal)

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

Ответ 2

setTitle теперь использует OptionSet - поэтому вам нужно пройти в пустой набор.

Синтаксис теперь:

button.setTitle("Button Text", for: [])