Подтвердить что ты не робот

Как получить доступ к выбранному элементу меню синему цвету?

Я работаю над приложением, которое имеет пользовательский NSView на NSStatusBar, который выполняет весь чертеж, когда пользователь нажимает на него. Но вот проблема, цвет, который я сейчас рисую как цвет фона представления, не совпадает с синим цветом системы.

Мой цвет приложения:
enter image description here

Цвет элемента меню Twitter (система):
enter image description here

Как вы ясно видите, мой синий цвет легче, чем система. Это код, который я использую в настоящее время (и отлично работал на версиях старше Yosemite):

[[NSColor selectedMenuItemColor] set];
NSRectFill(rect);

Я даже попробовал цвет, чтобы выбрать цвет элемента меню, но кажется, что на цвет влияет обои под панелью меню.
Любые идеи о том, как достичь системы, выглядят?

4b9b3361

Ответ 1

Как вы сказали, в Йосемите, доки, строки состояния и т.д. подвержены влиянию того, что стоит за ними. Попробуйте включить System Preferences > Accessibility > Display > Reduce Transparency, и вы увидите, как выглядит ваш цвет без этой функции./

Ответ 2

Вот идея. Возможно, вам следует использовать эффект Vibrancy и получить от NSVisualEffectView. Я знал, что в прошлом я видел очень похожий нить, и мне понадобилось некоторое время, чтобы найти его. Вот он:

Неисправность, соответствующая яркому фону Yosemite NSMenuItem, содержащего пользовательский вид

Я думаю, ответ Matthes на этот вопрос приведет вас к разрешению вашей проблемы. Обязательно проверьте это. Надеюсь, это поможет - Удачи и отчитайся!