Изменение цвета кнопки в зависимости от состояния в построителе интерфейса

#swift #xcode #interface-builder

#swift #xcode #конструктор интерфейса

Вопрос:

Я знаю, что в Interface Builder от Xcode вы можете изменить стиль кнопки в зависимости от ее состояния, но, похоже, это не относится к оттенку кнопки.

Возможно ли изменить цвет оттенка кнопки в зависимости от определенного состояния?

Ответ №1:

Если вы просто используете tintColor для установки цвета текста кнопки, вы можете установить свойство text color для каждого состояния в IB.

ОБНОВЛЕНИЕ: Согласно документации здесь: https://developer.apple.com/documentation/uikit/uibutton

«При настройке кнопки программно или в Interface Builder вы указываете атрибуты для каждого состояния отдельно. В Interface Builder используйте элемент управления State Config в инспекторе атрибутов, чтобы выбрать соответствующее состояние, а затем настроить другие атрибуты»

Цвет оттенка — это свойство, которое находится вне состояния кнопок, поскольку оно унаследовано от UIView, поэтому оно не приписывается никакому состоянию. Состояние также является свойством, доступным только для чтения, поэтому наблюдатель свойств также не будет работать.

TLDR: Вам понадобится отдельное изображение, привязанное к конкретному желаемому состоянию, tintColor применяется ко всем состояниям.

Комментарии:

1. Это для изображения кнопки.