IPhone文字发光效果(IPhone Text Glow Effect)

2019-07-17 22:40发布

在我的IPhone的应用程序,我想在的UILabel文本焕发了一秒钟,然后淡出为秒;. 此外,我想重复这个循环比如说3或4倍。

这可能吗?

Answer 1:

当你的3.2有在SDK阴影的直接支持。

label.layer.shadowColor = [label.textColor CGColor];
label.layer.shadowOffset = CGSizeMake(0.0, 0.0);

与参数播放:

label.layer.shadowRadius = 3.0;
label.layer.shadowOpacity = 0.5;

并避免阴影由标签bouds被修剪:

label.layer.masksToBounds = NO;

不要忘了

#include <Quartzcore/Quartzcore.h>

和压连杆QuartzCoreCoreGraphics框架(感谢评论者指出这一点)。



Answer 2:

我已经发布了其子类的UILabel,使您辉光和软阴影应用于文本一些示例代码。

http://www.redrobotstudios.com/blog/2010/04/29/create-glow-soft-shadow-text-on-iphone/



Answer 3:

是。 使用beginAnimation ... commitAnimation,并使用Alpha值变亮或变暗的ULabel。 确保UILabel的阿尔法的默认值在0.85开始,亮到1.0,然后变暗至0.75,而当一切完成后,你回到0.85。

还有其他的方法来做到这一点,如具有上是灰色或黑色的标签的上面另外的看法,您使用相同的开始... commitAnimation上的阿尔法从0更改为0.20左右。



Answer 4:

有很多方法可以做到这一点,有质量参差不齐。 一种方法是子类的UILabel,并实现某种形式的渐变效果,在drawRect方法CoreGraphics中。

您也可以用文字阴影(改变颜色和alpha)玩,看你能不能拿出一个像样的光芒。

最简单的方法可能是做一个透明发光的轮廓图像在Photoshop,并将其放在您的文本后面,然后做类似mahboudz建议...进出使用coreanimation褪色的图像。



Answer 5:

- (UILabel *) setUpGlowLabelWithFrame: (CGRect) frame fontSize: (int)fontSize {
        UILabel* label = [[UILabel alloc] initWithFrame:frame];
        label.backgroundColor = [UIColor clearColor];
        label.font = [UIFont boldSystemFontOfSize:fontSize];
        label.textColor = [UIColor whiteColor];
        label.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin;
        label.textAlignment = UITextAlignmentCenter;
        label.layer.shadowColor = [label.textColor CGColor];
        label.layer.shadowOffset = CGSizeMake(0.0, 0.0);
        label.layer.masksToBounds = NO;

    label.layer.shadowRadius = 0.5f;
    label.layer.shadowOpacity = 0.95;
    label.numberOfLines = 2;
    label.tag = 20;

    return label;
}

我用这个当获得光晕效果。

希望能帮助到你。

编码愉快:)



Answer 6:

对于那些你用斯威夫特4,这里是我用于多个对象焕发出相同的颜色,因为它们是:

let colorRed: UIColor? = timeLabel.textColor
timeLabel.layer.shadowColor = colorRed?.cgColor
timeLabel.layer.shadowRadius = 4.0
timeLabel.layer.shadowOpacity = 0.9
timeLabel.layer.shadowOffset = CGSize.zero
timeLabel.layer.masksToBounds = false

至于动画辉光,只需添加一个计时器3-4循环和改变.shadowOpacity的东西更低。



文章来源: IPhone Text Glow Effect