1

我花了很多耐心,按照我的要求制作了发光效果的矩形。

CALayer *bevelLayer = [CALayer layer];
[bevelLayer setBounds:CGRectMake(0.0f, 0.0f, 300.0f, 300.0f)];
[bevelLayer setPosition:CGPointMake(300.0f, 550.0f)];

[bevelLayer setBackgroundColor:[[UIColor whiteColor] CGColor]];
[bevelLayer setShadowOpacity:1.0];
[bevelLayer setShadowRadius:7.0f];
[bevelLayer setShadowColor:[[UIColor colorWithRed:0.0f/255.0  green:126.0f/255.0f        blue:255.0f/255.0f alpha:1.0f] CGColor]];
[bevelLayer setShadowPath:[[UIBezierPath bezierPathWithRoundedRect:CGRectMake(-10.0f, -10.0f, 310.0f, 310.0f) cornerRadius:5.0f] CGPath]];
[[[self view] layer] addSublayer:bevelLayer];
4

1 回答 1

4

与其添加一个新图层,不如直接在self.view上尝试一下。另外,shadowOpacity 是一个介于 0 和 1 之间的值……所以给 10 肯定对你没有帮助。

如果你想在self.view中尝试,这里是代码:

self.view.layer.shadowColor = [[UIColor greenColor] CGColor];
self.view.layer.shadowOffset = CGSizeMake(1, 1);
self.view.layer.shadowOpacity = 1;
self.view.layer.shadowRadius = 20;

这样您就不必担心图层的边界..

于 2012-04-21T10:34:06.620 回答