2012-02-13 33 views
3

我怎樣才能在畫面中營造的iPhoto像按鈕一樣的iPhoto像NSButton

enter image description here

我已經嘗試了使用圓形紋理按鈕或設定按鈕的形象爲模板幾件事情。但是這些方法都沒有效果。

謝謝到目前爲止您的答案。

編輯: 按鈕的圖像應該只是一個簡單的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 
{ 
} 

要設置子剛剛從「NSButtonCell」到「YourSubClass」編輯在Interface Builder的鈕釦電池的「自定義類」字段

0

我認爲最簡單的解決方法是與類型創建按鈕:瞬間變化並在其上用透明背景的PNG文件的類型,當按鈕後,您可以切換到其他圖片背景添加圖片。

例如設定/改變形象:

[_yourButton setImage:_image]; 

如果我正確你想要做的理解。

1

正如賈斯汀提到你應該創建一個NSButton類型瞬間變化。然後,您應該通過在文件名中包含後綴Template來指示它是模板圖像,例如, EditTemplate.png

我知道你說過你試過將圖片設置爲模板,但是我發現如果我沒有使用按鈕類型的瞬變,這並不總是有效。

+0

當我將圖像作爲模板,我不明白那白色的影子當按鈕邊框樣式不是圓紋理。當我用圓形紋理按鈕進行嘗試時,我無法更改按鈕的框架。你能看到我的困境嗎? – burki 2012-02-14 07:29:30

+0

你提到的是什麼白影?我的屏幕截圖中沒有看到任何白影,或者使用iPhoto?也許你應該用你嘗試各種選項時所得到的截圖來更新你的問題,以及你試圖實現的白色陰影。另外,爲什麼你想改變按鈕的框架 - 你試圖實現的風格似乎沒有可見的框架。 – 2012-02-14 09:26:02

+0

最終圖像由原始圖像(具有漸變),黑暗內陰影和白色陰影組成。我注意到iPhoto不使用內置的模板圖紙,所以有定製的圖紙。 – burki 2012-02-15 06:34:38