在我的IPhone的应用程序,我想在的UILabel文本焕发了一秒钟,然后淡出为秒;. 此外,我想重复这个循环比如说3或4倍。
这可能吗?
在我的IPhone的应用程序,我想在的UILabel文本焕发了一秒钟,然后淡出为秒;. 此外,我想重复这个循环比如说3或4倍。
这可能吗?
当你的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>
和压连杆QuartzCore
或CoreGraphics
框架(感谢评论者指出这一点)。
我已经发布了其子类的UILabel,使您辉光和软阴影应用于文本一些示例代码。
http://www.redrobotstudios.com/blog/2010/04/29/create-glow-soft-shadow-text-on-iphone/
是。 使用beginAnimation ... commitAnimation,并使用Alpha值变亮或变暗的ULabel。 确保UILabel的阿尔法的默认值在0.85开始,亮到1.0,然后变暗至0.75,而当一切完成后,你回到0.85。
还有其他的方法来做到这一点,如具有上是灰色或黑色的标签的上面另外的看法,您使用相同的开始... commitAnimation上的阿尔法从0更改为0.20左右。
有很多方法可以做到这一点,有质量参差不齐。 一种方法是子类的UILabel,并实现某种形式的渐变效果,在drawRect方法CoreGraphics中。
您也可以用文字阴影(改变颜色和alpha)玩,看你能不能拿出一个像样的光芒。
最简单的方法可能是做一个透明发光的轮廓图像在Photoshop,并将其放在您的文本后面,然后做类似mahboudz建议...进出使用coreanimation褪色的图像。
- (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;
}
我用这个当获得光晕效果。
希望能帮助到你。
编码愉快:)
对于那些你用斯威夫特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的东西更低。