Изображение для NSSegmentedControl: как инвертировать его при изменении состояния? - PullRequest
4 голосов
/ 07 марта 2012

Это, вероятно, не сложно, но я не могу найти что-нибудь об этом, так что здесь: если я использую одно из изображений шаблона NS с NSSegmentedControl, изображение инвертируется, когда конкретный сегмент, в которомнаходится в нажатом состоянии (когда фон темный).Это не когда я предоставляю одно из моих собственных изображений.Для обычного NSButton (например, переключателя) я могу предоставить альтернативное изображение для использования при нажатии кнопки, но NSSegmentedControl не предоставляет альтернативное изображение, поэтому в самом изображении должно быть что-то, что позволяет элементу управления инвертировать его внешний вид,Что это?

Ответы [ 2 ]

4 голосов
/ 18 марта 2012

Вот оно:

Сначала следуйте рекомендациям Apple: http://developer.apple.com/library/mac/#documentation/userexperience/conceptual/applehiguidelines/IconsImages/IconsImages.html#//apple_ref/doc/uid/20000967-TP6

Затем завершите имя полученного изображения словом «Шаблон» (например,bigViewTemplate).

работает как шарм.

2 голосов
/ 03 сентября 2012

Как сказано maximus , изображение шаблона будет инвертировано автоматически. Чтобы избежать переименования и повысить гибкость, просто используйте -(void)setTemplate: метод NSImage.

...