NSButton без полей становится серым при нажатии - PullRequest
31 голосов
/ 26 сентября 2010

Я делаю небольшое приложение с тремя NSButtons с набором изображений. Эти кнопки не имеют ни границы, ни фона. Однако, когда я нажимаю кнопку, она превращается в серый прямоугольник.

Как я могу это исправить? Спасибо.

Ответы [ 3 ]

71 голосов
/ 11 октября 2012

Сделайте ваш тип кнопки как NSMomentaryChangeButton.

[myBtn setButtonType:NSMomentaryChangeButton];

Если вы используете NSMomentaryPushInButton, вы можете получить серый прямоугольник над кнопкой при нажатии.

13 голосов
/ 04 октября 2010

Вы должны иметь возможность отрегулировать это, изменив маску состояния. Для этого проверьте свойства highlightsBy: и showsStateBy: NSButtonCell - они предназначены для установки эффекта нажатия и отображения эффекта соответственно. Применимые константы для этих методов находятся на справочной странице NSCell .

0 голосов
/ 08 января 2017

Если вы используете NSBox, убедитесь, что ваша кнопка внутри NSBox в иерархии.Затем используйте «мгновенное нажатие» в качестве типа кнопки.При нажатии кнопка тускнеет, но границы не будет.

Когда я использовал NSBox с NSButton на том же уровне иерархии, я бы увидел границу при нажатии.

...