NSTextField устанавливает отключенный цвет текста

У меня есть NSTextField, который включен или отключен. Я могу установить textColor, но это влияет только на цвет текста, когда текстовое поле включено.

Есть идеи, как установить цвет текста для отключенного состояния?

Я уже пытался создать подкласс NSTextField и переопределить методы включения, как предложено в Отключить NSTextField без изменения цвета разноцветного текста ... но у меня это не работает. Думаю, из-за того, что последний SDK поддерживает темный режим.


person Frank Möller    schedule 27.05.2019    source источник


Ответы (1)


Простой подход - переопределить resignFirstResponder:

override func resignFirstResponder() -> Bool {
    //change text color here...

    return super.resignFirstResponder()
}

Вы можете просто добавить свой код изменения цвета для любого элемента управления, который вам нравится здесь ...

Как указано Apple: Реализация по умолчанию возвращает истину, отказываясь от статуса первого респондента. Вы можете переопределить этот метод в своих пользовательских ответчиках, чтобы обновить состояние вашего объекта или выполнить другие действия, такие как удаление выделения из выделения. Вы также можете вернуть false, отказываясь отказываться от статуса первого респондента. Если вы переопределите этот метод, вы должны вызвать super (реализацию суперкласса) в какой-то момент вашего кода.

person Woodstock    schedule 27.05.2019