Я знаю, что этот ответ немного запоздал, но вы можете попробовать это, учитывая thisButton
:
[thisButton setImage:[NSImage imageNamed:NSImageNameStopProgressFreestandingTemplate]];
[thisButton setImagePosition:NSImageOnly];
[thisButton setBordered:NO];
Эта последняя строка является ключевым битом: удаление границы кнопки эффективно лишает ее рамки, оставляя только изображение, по которому можно щелкнуть. (Кстати, я не пробовал вышеуказанный код специально, поэтому вам может потребоваться добавить пару других настроек, например, установить imageScaling
или buttonType
, чтобы он работал лучше).
Последнее замечание: если вы используете шаблонное изображение (как вы и сказали), Cocoa автоматически отобразит его с небольшим темно-серым градиентом; когда кнопка нажата, она на мгновение потемнеет до сплошного черного цвета. Это автоматический вид «кнопки вниз», который вы не хотели; однако, это очень тонкий и хороший индикатор того, что кнопка сработала. Если вы не хотите, чтобы это происходило, вы можете получить экземпляр нужного изображения и [stopImage setTemplate:NO];
на нем.