ios 发光字体文字的实现
ios 中實(shí)現(xiàn)發(fā)光字體文字
@interface IEGlowLabel : UILabel{
?? ?
? ? CGSize glowOffset;
? ? CGFloat glowAmount;
? ? UIColor *glowColor;
?? ?
? ? CGColorSpaceRef colorSpaceRef;
? ? CGColorRef glowColorRef;
}
@property (nonatomic, assign) CGSize glowOffset;
@property (nonatomic, assign) CGFloat glowAmount;
@property (nonatomic, retain) UIColor *glowColor;
@end
@implementation IEGlowLabel
@synthesize glowColor, glowOffset, glowAmount;
- (void)setGlowColor:(UIColor *)newGlowColor
{
? ? if (newGlowColor != glowColor) {
? ? ? ? [glowColor release];
? ? ? ? CGColorRelease(glowColorRef);
?? ? ? ?
? ? ? ? glowColor = [newGlowColor retain];
? ? ? ? glowColorRef = CGColorCreate(colorSpaceRef, CGColorGetComponents(glowColor.CGColor));
? ? }
}
- (void)initialize {
? ? colorSpaceRef = CGColorSpaceCreateDeviceRGB();
?? ?
? ? self.glowOffset = CGSizeMake(0.0, 0.0);
? ? self.glowAmount = 15.0;
? ? self.glowColor = [UIColor clearColor];
}
- (void)awakeFromNib {
? ? [self initialize];
}
- (id)initWithFrame:(CGRect)frame {
? ? self = [super initWithFrame:frame];
? ? if(self != nil) {
? ? ? ? [self initialize];
? ? }
? ? return self;
}
- (void)drawTextInRect:(CGRect)rect {
? ? CGContextRef context = UIGraphicsGetCurrentContext();
? ? CGContextSaveGState(context);
?? ?
? ? CGContextSetShadow(context, self.glowOffset, self.glowAmount);
? ? CGContextSetShadowWithColor(context, self.glowOffset, self.glowAmount, glowColorRef);
?? ?
? ? [super drawTextInRect:rect];
?? ?
? ? CGContextRestoreGState(context);
}
- (void)dealloc {
? ? CGColorRelease(glowColorRef);
? ? CGColorSpaceRelease(colorSpaceRef);
? ? [glowColor release];
? ? [super dealloc];
}
@end
用法:
IEGlowLabel *glowLabel;
? ??glowLabel.glowColor = waitTimeLabel.textColor;
? ? glowLabel.glowAmount = 15.0;
? ? glowLabel.glowOffset = CGSizeMake(0.0, 0.0);
? ? [glowLabel setText:@"glowLabel"];
總結(jié)
以上是生活随笔為你收集整理的ios 发光字体文字的实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: i12蓝牙耳机使用说明书图片_蓝牙耳机使
- 下一篇: 怎么使用level2行情接口软件查询股票