iPhoto как NSButton

Как я могу создать кнопку, похожую на iPhoto, как на картинке

Я попробовал несколько вещей, используя круглые текстурированные кнопки или установив изображение кнопки в качестве шаблона. Но ни один из этих подходов действительно не работает.

Спасибо за ваши ответы.

РЕДАКТИРОВАТЬ: изображение кнопки должно быть просто PDF. Градиент и белая тень должны быть нарисованы автоматически.

3 ответа

Как упоминал Джастин, вы должны создать NSButton с типом мгновенное изменение. Затем вы должны указать, что это изображение шаблона, включив суффикс Template в имя файла, например EditTemplate.png,

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

Вы могли бы подкласс NSButtonCell. И реализовать эти функции:

- (void)drawImage:(NSImage*)image 
        withFrame:(NSRect)frame 
           inView:(NSView*)controlView
{
     // Draw the image of the pen. 
}

- (NSRect)drawTitle:(NSAttributedString*)title 
          withFrame:(NSRect)frame 
             inView:(NSView*)controlView
{
     // Draw the text.
}

- (void)drawBezelWithFrame:(NSRect)frame 
                    inView:(NSView *)controlView
{
}

Чтобы настроить подкласс, просто измените поле "Пользовательский класс" ячейки кнопки в Интерфейсном Разработчике с "NSButtonCell" на "YourSubClass"

Я думаю, что самое простое решение - создать кнопку с типом: Momentary Change и добавить на нее изображение с прозрачным фоном с типом файла.png, а когда кнопка включена, вы можете перейти к другому изображению с фоном.

Например, чтобы установить / изменить изображение:

[_yourButton setImage:_image];

Если я правильно понял, что вы хотите сделать.

Другие вопросы по тегам