在UIView周围创造一个光晕

时间:2011-03-13 18:48:18

标签: iphone objective-c xcode ios4 quartz-graphics

我想在UIView周围绘制一个发光边框,距离实际的UIView本身大约是5px。

请告诉我如何实现这一目标?

2 个答案:

答案 0 :(得分:13)

可能最简单的方法是创建一个阴影,但使用浅色而不是暗色。可以在此处找到阴影详细信息:How do I draw a shadow under a UIView?here

这样的事情应该让球滚动:

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSaveGState(context);
    CGContextSetShadowWithColor(context, CGSizeMake(0, 0), 10,
                                [UIColor whiteColor].CGColor);
    [super drawRect:rect];
    CGContextRestoreGState(context);
}

更新: 我刚试过这个。您必须在发光视图的超级视图上使用此代码才能正常工作。

答案 1 :(得分:3)

我要尝试的第一件事是将UIView嵌入到具有发光图像的UIView中。如果发光效果只是一个图像,那么您创建一个UIView,其中包含的发光图像比被包围的UIView高10 px和更宽。这将允许所有4个侧面的5 px扩展。您可以使用Interface Builder快速轻松地完成所有这些操作。

如果您希望发光效果看起来非常酷,考虑创建一组发光图像,当作为序列查看时,将显示一种移动的发光效果。然后,您可以在UIView中使用此图像集并打开动画。所有UIView控件都内置了动画支持。

希望这有帮助。祝你好运。