Предотвратить изменение цвета фона кнопки в темном режиме?

Поместите кнопку на пользовательском NSView с фоновым цветом, а в светлом режиме фон кнопки останется белым (обе кнопки имеют стиль Push с оттенком по умолчанию), но переключитесь в темный режим, и теперь кнопка принимает фон позади Это.

Цвет фона кнопки, светлый режим и темный режим

Обратите внимание, что цвет кнопки (вверху справа на изображении) в представлении, для которого не задан цвет фона, выглядит так, как ожидалось.

Есть ли способ заставить кнопку вести себя так же в темном режиме и не принимать цвет NSView за ней?


person Ken    schedule 01.10.2019    source источник
comment
Что это за почему? Вы спрашиваете, почему Apple так поступила? Это попадало бы в область предположений.   -  person matt    schedule 02.10.2019
comment
Это действительно хороший момент, @matt — я больше удивлен поведением, чем чем-либо еще, и хочу узнать, есть ли у кого-нибудь полезная информация.   -  person Ken    schedule 02.10.2019
comment
Я тоже удивлен, но Stack Overflow — не место для выражения удивления (или неодобрения) по поводу Cocoa и его поведения.   -  person matt    schedule 02.10.2019
comment
Изменен вопрос @matt, теперь он немного менее философский; спасибо за вашу помощь с этим.   -  person Ken    schedule 02.10.2019
comment
Отлично, молодец! Спасибо за это.   -  person matt    schedule 02.10.2019
comment
Хорошо, теперь я бы сказал, что это дубликат, например. stackoverflow.com/questions/1017468/. Изменить цвет фона NSButton непросто и хорошо изучено. :)   -  person matt    schedule 02.10.2019
comment
Я не согласен, @matt — я не пытаюсь изменить цвет кнопки на определенный, просто пытаюсь заставить кнопку вести себя так же в темном режиме, как и в светлом.   -  person Ken    schedule 03.10.2019
comment
Да, но то, как вы это сделаете, предположительно, изменит цвет фона.   -  person matt    schedule 03.10.2019
comment
Точно так же ведут себя белые кнопки? В темном режиме обе кнопки полупрозрачны, а серая кнопка также приобретает цвет позади нее.   -  person Willeke    schedule 03.10.2019