UIButton圆顶角落

时间:2012-07-19 11:19:28

标签: iphone objective-c ios uibutton calayer

我需要一个带背景图像的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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

别忘了

#import <QuartzCore/QuartzCore.h>

如果您使用的是CAGradientLayer

答案 2 :(得分:0)

您可以查看ColoredRoundedButton开源实现。它使用UIButton cornerRadius的{​​{1}}属性来获得圆角。