iphone卓尔阴影在圈子上

时间:2010-01-18 00:06:14

标签: iphone uiview dropshadow

我在我的子分类uiview中绘制了一个简单的圆圈,如下所示。如何在圆形底部添加轻微的昏昏欲睡?

 - (void)drawRect:(CGRect)rect
   {
     CGContextRef ctx = UIGraphicsGetCurrentContext();
     UIGraphicsPushContext(ctx);
     CGContextSetRGBFillColor(ctx, 1.0f, 1.0f, 1.0f, 1.0f);  // white color
     CGContextFillEllipseInRect(ctx, CGRectMake(10.0f, 10.0f, 100.0f, 100.0f));  // a white filled circle with a diameter of 100 pixels, centered in (60, 60)
     UIGraphicsPopContext();

     //Now what here?
   }

2 个答案:

答案 0 :(得分:4)

要继续使用slf的答案,您可以使用以下代码替换上面的代码:

- (void)drawRect:(CGRect)rect
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    UIGraphicsPushContext(ctx);
    CGContextSetRGBFillColor(ctx, 1.0f, 1.0f, 1.0f, 1.0f);  // white color
    CGContextSetShadow(ctx, CGSizeMake(2.0f, 2.0f), 2.0f);
    CGContextFillEllipseInRect(ctx, CGRectMake(10.0f, 10.0f, 100.0f, 100.0f));  // a white filled circle with a diameter of 100 pixels, centered in (60, 60)
    UIGraphicsPopContext();
}

这将创建一个阴影,该阴影向下偏移2个像素并偏向您的圆圈,模糊为2个像素。您可以更改这些值以创建所需的效果。如果要为此绘图添加发光效果,CGContextSetShadowWithColor()也可以使用与黑色不同的颜色。

答案 1 :(得分:1)

请参阅Quartz2D Shadows指南。

CGContextSetShadowWithColor (myContext, myShadowOffset, 5, myColor);