2016-01-09 2 views
1

Я бы хотел установить отключенный выделенный режим NSStatusItem при нажатии. В OS X 10.10 и более поздней версии свойство highlightedMode устарело, и Apple предлагает использовать свойство button. Итак, что эквивалентно setHighlightedMode:? Swift или Objective-C в порядке.Как отключить выделенный режим NSStatusItem

Заранее спасибо.

ответ

0

Получите ячейку кнопки, отлитую как NSButtonCell*, и установите ее значение highlightsBy равным 0. Конечно, это связано с ячейками, которые также постепенно устарели.

Внутренний, -[NSStatusItem setHighlightMode:] звонки -[NSStatusBarButton setHighlightMode:], который вызывает -[NSStatusBarButtonCell setHighlightMode:]. Это последнее вызывает -setHighlightsBy: на себе либо 0, либо NSContentsCellMask | NSChangeBackgroundCellMask, в зависимости от режима. К сожалению, ни -[NSStatusBarButton setHighlightMode:], ни NSStatusBarButtonCell - это открытый API, поэтому лучше всего имитировать их.

Все сказанное, вероятно, лучше всего использовать -[NSStatusItem setHighlightMode:] и подать отчет об ошибке с Apple, требуя непринужденного подхода.

Смежные вопросы