2012-02-13 4 views
3

Как я могу создать Iphoto кнопки, как, как на картинкеIphoto как NSButton

enter image description here

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

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

EDIT: Изображение кнопки должно быть простым pdf. Градиент и белая тень должны быть нарисованы автоматически.

ответ

0

Вы можете подклассифицировать 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 
{ 
} 

Для установки подкласса просто отредактировать поле «Пользовательский класс» клетки кнопки в Interface Builder от «NSButtonCell» до «YourSubClass»

0

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

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

[_yourButton setImage:_image]; 

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

1

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

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

+0

Когда я устанавливаю изображение в качестве шаблона, я не получаю эту белую тень, когда стиль рамки без кнопки не текстурирован. Когда я пытаюсь с помощью круглой текстурированной кнопки, я не могу изменить рамку кнопки. Вы видите мою дилемму? – burki

+0

Какая белая тень, на которую вы ссылаетесь - я не вижу на вашем снимке какой-либо белой тени или когда я использую iPhoto? Возможно, вам следует обновить свой вопрос с помощью скриншота о том, что вы получаете, когда пытаетесь выполнить различные варианты, и какую белую тень вы пытаетесь достичь. Кроме того, почему вы хотите изменить рамку кнопки - стиль, который вы пытаетесь достичь, кажется, не имеет видимого кадра. –

+0

Конечное изображение состоит из исходного изображения (с градиентом), темной внутренней тени и белой тени. Я заметил, что iPhoto не использует встроенный шаблон, поэтому есть индивидуальный чертеж. – burki

Смежные вопросы