Выделение только изображения над кнопкой при нажатии - PullRequest
2 голосов
/ 01 сентября 2010

Прямо сейчас, когда я устанавливаю изображение поверх кнопки и делаю его без рамки и пытаюсь щелкнуть по нему, оно всегда показывает выделенную прямоугольную часть вместе с изображением, которое является фактическим размером нажатой кнопки.1002 * Мое требование: я хочу выделить поверх него только изображение, а не всю прямоугольную часть.

Может кто-нибудь предложить мне какую-то логику для его реализации?

Ответы [ 2 ]

7 голосов
/ 01 сентября 2010

В IB, панель атрибутов: установите для параметра Тип кратковременное изменение.

3 голосов
/ 01 сентября 2010

Различные типы кнопок выделяются по-разному.

Я думаю, что это, вероятно, "достаточно хорошо" для того, что вы пытаетесь сделать:

  • перетащите кнопку градиента из палитры IB
  • Команда-1 для представления «Атрибуты»
  • снимите флажок «Гранично»
  • выберите ваше изображение во всплывающем меню «Изображение»

Это дает вамкликабельная кнопка, предназначенная только для изображений, которая при нажатии будет отображать только само изображение.Вы также можете предоставить «альтернативное изображение» для состояния щелчка, но я не думаю, что это будет необходимо.

Если это не совсем то, что вам нужно, вам нужно создать ссылку IBOutlet наNSButtonCell и используйте:

- (void)setHighlightsBy:(NSInteger)aType

, чтобы определить, какой метод подсветки используется.

Полная документация по адресу:

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ApplicationKit/Classes/NSButtonCell_Class/Reference/Reference.html#//apple_ref/occ/instm/NSButtonCell/setHighlightsBy:

Я надеюсь, что этопомогает.

С уважением,

Фрэнк

...