Как я могу изменить способ выделения объектов NSButtonCell при нажатии?

Я использую несколько объектов NSButtonCell в NSTableView. Это простые квадратные кнопки с пользовательскими изображениями на них.

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

Я бы предпочел, чтобы изображение было перевернуто, а прозрачные части оставались прозрачными. Как это может быть сделано?


person e.James    schedule 19.11.2008    source источник


Ответы (2)


Попробуйте установить для свойства highlightsBy вашей ячейки значение NSContentsCellMask. Я думаю, вам придется сделать это в коде (вероятно, в awakeFromNib); Я не вижу способа сделать это только в IB.

person Peter Hosey    schedule 19.11.2008

Вы также можете сделать это в Interface Builder. Я использую «Square Button», поэтому кнопка переключается между двумя изображениями (поэтому изображение вообще не инвертируется).

Поведение ваших кнопок, вероятно, установлено на «Momentary Light» или «Momentary Push In».

Установите Behaviour на "Momentary Change", и все должно работать.

person Community    schedule 23.11.2014