2012-07-19 77 views
1

我需要一个UIButton与backgound形象,圆角的顶部和shadow.Here是我的代码的UIButton随着圆角在顶部

我试图从堆栈溢出很多帖子,但没有为我工作。

我能够添加带有圆角和阴影背景图像的UIButton使用以下。

CALayer *imageLayer = [imageButton layer]; 
imageLayer.frame = CGRectMake(110, 190, 100, 100); 
imageLayer.cornerRadius = 10.0; 
imageLayer.shadowColor = [UIColor grayColor].CGColor; 
imageLayer.shadowOpacity = 1.0; 
imageLayer.shadowRadius = 1; 
imageLayer.shadowOffset = CGSizeMake(03.0f, 08.0f); 
imageLayer.masksToBounds = YES; 


CALayer *sublayer = [CALayer layer]; 
sublayer.backgroundColor = [UIColor blueColor].CGColor; 
sublayer.shadowOffset = CGSizeMake(5, 8); 
sublayer.shadowRadius = 2.0; 
sublayer.shadowColor = [UIColor grayColor].CGColor; 
sublayer.shadowOpacity = 0.8; 
sublayer.frame = imageLayer.frame; 
sublayer.borderColor = [UIColor blackColor].CGColor; 
sublayer.borderWidth = 0.0; 
sublayer.cornerRadius = 10.0; 

[imageButton.layer.superlayer insertSublayer:sublayer atIndex:0]; 

现在我怎样才能让顶角四舍五入。

+3

为什么你不使用和图像而不是图纸? – 2012-07-19 11:21:59

+1

对不起,为什么玩这么多,如果你可以制作一个具有所有需要的视觉方面的自定义按钮? – 2012-07-19 11:22:49

+0

对不起,我希望通过使用CALayer类的属性来实现此功能。 – 2012-07-19 11:37:47

回答

1

要制作圆角,您必须使用渐变图层CAGradientLayer。

1

不要忘记

#import <QuartzCore/QuartzCore.h> 

如果您正在使用CAGradientLayer