9

我们目前正在构建一个 iPhone 应用程序,并希望文本具有发光效果以适应逼真的 UI 设计。

这是我们正在努力实现的目标。

发光的文字

我们目前正在努力创建内部发光效果,因此我们将不胜感激。

在 Photoshop 中这个文本有

  • #98c1c1 的颜色
  • 外发光:#ffffff,屏幕混合模式,30% 不透明度,5px 大小。
  • 内发光:#c79d85,颜色减淡混合模式,70% 不透明度,5px 大小。

谢谢,马克。

4

2 回答 2

14

要设置带有 #98c1c1 文本颜色的按钮,请使用:

UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 60)];
label.textColor = [UIColor colorWithRed:((float)152/255) green:((float) 193/255) blue:((float) 193/255) alpha:1.0f];

我用 Photoshop 找到了#98c1c1 的 RGB 分量,结果是 R:152 G:193 B:193。并colorWithRed:green:blue:alpha:取一个介于 0 和 1 之间的归一化值,这就是为什么我将 RGB 值设为超过 255 的原因。

对于外发光,使用:

label.layer.shadowColor = [UIColor whiteColor].CGColor;
label.layer.shadowOffset = CGSizeMake(0.0, 0.0);    
label.layer.shadowRadius = 10.0;
label.layer.shadowOpacity = 0.3;
label.layer.masksToBounds = NO;

您希望不透明度为 30%,阴影颜色为 #ffffff(白色)。这就是label.layer.shadowOpacity设置为 0.3 (30%) 并label.layer.shadowColor设置为白色的原因。

我不太确定如何实现内发光,但您可以创建一个复制文本但使字体更小并使新文本居中的方法,以创建内发光的效果。记得导入<Quartzcore/Quartzcore.h>

于 2012-06-28T22:43:57.820 回答
0

更新pasawaya 发布的代码:

label.layer.shadowColor = ([UIColor .green] as! CGColor)
label.layer.shadowOffset = CGSize.zero
label.layer.shadowRadius = 10.0;
label.layer.shadowOpacity = 0.
label.layer.masksToBounds = false
于 2019-02-17T01:22:52.983 回答