Подтвердить что ты не робот

Как закодировать NSButton так же, как изображение

Использование кода (а не построителя интерфейса) Мне нужно создать NSButton, который выглядит как изображение. В частности, я хочу использовать NSImageNameStopProgressFreestandingTemplate, и мне нужно not выглядеть как кнопка, но выглядеть как изображение. Это означает:
1. Нет "кнопки вниз" смотреть
2. Отсутствие границы, отсутствие видимости кнопки

Спасибо.

4b9b3361

Ответ 1

Я знаю, что этот ответ немного запоздал, но вы можете попробовать это, учитывая thisButton:

[thisButton setImage:[NSImage imageNamed:NSImageNameStopProgressFreestandingTemplate]];
[thisButton setImagePosition:NSImageOnly];
[thisButton setBordered:NO];

Последняя строка - это бит ключа: удаление границы кнопки эффективно перекрывает ее рамку, оставляя только изображение, на которое нужно щелкнуть. (Кстати, я не пробовал этот код специально, поэтому вам может потребоваться несколько других настроек, таких как установка imageScaling или buttonType, чтобы он работал лучше всего.)

Последнее замечание: если вы используете образ шаблона (как вы сказали, вы бы), Cocoa автоматически отобразит его с небольшим темно-серым градиентом; при нажатии кнопки он на мгновение будет затемнен до черного. Это автоматический "кнопочный" взгляд", который вам не нужен; однако он очень тонкий и является хорошим индикатором того, что кнопка работает. Если вы не хотите, чтобы это произошло, вы можете получить экземпляр желаемого изображения и [stopImage setTemplate:NO]; на нем.