2012-03-27 2 views
1

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

У меня есть NSPopUpButton, определенный в наконечнике с прикрепленным к нему меню. Я определил его в nib как «Pull Down» без стрелки (изображения, предоставленные мне нашим дизайнером, включают специальную стрелку, которую он хочет использовать). Это кнопка без полей. title правильно пуст, хотя я установил image и alternateImage.

То, что я ищу, это конфигурация, либо в nib, либо у владельца файла, либо подкласса NSPopUpButton, что позволит мне отображать альтернативное изображение кнопки (или любое другое изображение), в то время как меню кнопки отображается. Вместо этого, похоже, что система затемняет изображение кнопки.

Я пробовал многочисленные конфигурации нип, различные свойства NSButton и NSButtonCell, переопределяя mouseDown и mouseUp. Ничего я не работаю.

ответ

4

Если игра с свойством «Тип» не помогает, вам может потребоваться подкласс чертежа NSButtonCell, чтобы получить то, что вы хотите.

- (void)drawImage:(NSImage *)image withFrame:(NSRect)frame inView:(NSView *)controlView в NSButtonCell кажется многообещающим.

+0

Оказалось, что «drawImageWithFrame: inView:' - спасибо! –

2

Я думаю, что это обычное время класса NSButtonCell; Я не знаю, как переопределить тему для этого типа кнопки.

Ваша единственная альтернатива - использовать обычный NSButton с соответствующим изображением и отображать меню в правильном положении вручную, что, вероятно, будет намного проще реализовать.