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];
Если я правильно понял, что вы хотите сделать.