如何在 UILabel 上创建强烈的红光效果
Posted
技术标签:
【中文标题】如何在 UILabel 上创建强烈的红光效果【英文标题】:how to create a strong red glow effect on UILabel 【发布时间】:2011-11-08 15:38:30 【问题描述】:我需要像上面那样在 UILabel(或 CATextLayer)上实现外发光效果。我知道要在文本上创建发光效果,我需要偏移 (0,0) 的阴影。我已经接触到了quartz2D 级别,以下是我正在使用的代码:
_backgroundDownLabel.layer.shadowColor = self.glowColor.CGColor; // red
_backgroundDownLabel.layer.shadowOffset = CGSizeMake(0, 0);
_backgroundDownLabel.layer.shadowOpacity = 1;
_backgroundDownLabel.layer.shadowRadius = self.glowAmount; // tried 1-10
_backgroundDownLabel.layer.masksToBounds = NO;
问题:当我使用 RGB(1,0,0) 颜色作为阴影颜色来创建红光时,结果太微妙,意味着红光不够强。另一方面,客户设计师发给我一个PSD文件,其中发光颜色明亮而强烈。我猜这不是简单的发光,而是一些 Photoshop 滤镜,可能是外发光或某种组合。
那么,有没有办法通过代码来做类似的事情?
【问题讨论】:
【参考方案1】:我不确定你在问什么,但我认为这会有所帮助:IPhone Text Glow Effect
另外,如果您想创建像上面的 .psd 那样的红色发光,为什么不将其转换为 .png 并在您的应用程序中使用呢?
编辑:
我刚刚从 iTunes U 上的Brad Larson's Advanced iPhone Development Courses 找到了解决您问题的方法。您必须在Brad Larson's 个人资料上下载课程笔记(您必须有 Voodoo Pad 才能打开它们)并进入 Quartz 2D在“时间表”下绘制笔记。然后,您必须下载名为“QuartzExample”的示例代码。 如果您还没有找到解决方案,希望这对您有所帮助。
【讨论】:
嘿,谢谢你的帮助,我需要用红光显示动态文字,png不会有帮助 @Chris Chen 我把上面的答案改了,希望对你有帮助。【参考方案2】:如果你真的想要一个完全的控制,那么你必须画......像这样的东西:
for (int i = 0; i < SOME_NUMBER; i++)
CGContextSetShadowWithColor(UIGraphicsGetCurrentContext(),
CGSizeZero,
i * SOME_FACTOR,
[UIColor redColor].CGColor);
[text drawAtPoint...
然后用SOME_NUMBER
和SOME_FACTOR
进行试验。
【讨论】:
不知何故阴影没有总结,只有文字绘制以上是关于如何在 UILabel 上创建强烈的红光效果的主要内容,如果未能解决你的问题,请参考以下文章