2012-06-23 78 views
3

如何添加一個淺灰色的陰影到UIButton,我不希望有一個方法,此刻做到這一點,就應該是這樣的:添加背景陰影的UIButton

UIButton *button1... button1.layer.shadowOpacity = 0.8 

等,但不起作用,它只會在按鈕內添加陰影,但我需要在外面。謝謝!

+2

請檢查這個http://stackoverflow.com/questions/2315366/how-to-add-a-drop-shadow-to-a-uibutton –

+0

我看到了,但我不想要的方法。如果有幫助的話,我也會添加一個表格單元的按鈕。 – sebi

+1

請檢查由「fzwo」給出的答案。這不是一種方法。 –

回答

10

首先你必須#import <QuartzCore/QuartzCore.h>。然後:

mybtn.layer.shadowColor = [UIColor blackColor].CGColor; 
mybtn.layer.shadowOpacity = 0.5; 
mybtn.layer.shadowRadius = 2; 
mybtn.layer.shadowOffset = CGSizeMake(3.0f,3.0f); 
0

您還可以使用–[UIButton setBackgroundImage:forState:]UIControlStateNormal背景圖片設置爲一個帶有陰影。例如:

[button setBackgroundImage:[UIImage imageNamed:@"ButtonBackgroundNormal"] 
       forState:UIControlStateNormal]; 

其中ButtonBackgroundNormal.png有陰影。圖像通常比使用代碼繪製更快。而且,速度很重要,特別是如果您將其添加到UITableViewCell。在這種情況下,要加快滾動速度,請確保背景圖像完全不透明,方法是使用UITableViewCell的相同背景色進行設計,並保存爲不透明。然後,設置button.opaque = YES