我想在UIView周围绘制一个发光边框,距离实际的UIView本身大约是5px。
请告诉我如何实现这一目标?
答案 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控件都内置了动画支持。
希望这有帮助。祝你好运。