UILabel添加发光效果

#import <UIKit/UIKit.h>

@interface DTGlowingLabel : UILabel

{

    UIColor *_outLineColor;

    UIColor *_insideColor;

    UIColor *b_lurColor;

}

@property (nonatomic, retain) UIColor *outLineColor;

@property (nonatomic, retain) UIColor *insideColor;

@property (nonatomic, retain) UIColor *blurColor;

@end

.m

#import "DTGlowingLabel.h"

@implementation DTGlowingLabel
@synthesize insideColor  = _insideColor;
@synthesize outLineColor = _outLineColor;
@synthesize blurColor    = _blurColor;
- (id) init
{
    if(self=[super init])
    {
        
    }
    return self;
}

- (void) drawRect:(CGRect)rect
{
    CGContextRef ctx = UIGraphicsGetCurrentContext();
    CGContextSetStrokeColorWithColor(ctx, _outLineColor.CGColor);
    CGContextSetFillColorWithColor(ctx, _insideColor.CGColor);
    CGContextSetLineWidth(ctx, self.font.pointSize/60.0);
    CGContextSetShadowWithColor(ctx, CGSizeMake(0, 0), self.font.pointSize / 10.0, _blurColor.CGColor);
    CGTextDrawingMode mode = (_outLineColor==nil)? kCGTextFill: ((_insideColor==nil)?kCGTextStroke:kCGTextFillStroke);
    CGContextSetTextDrawingMode(ctx, mode);
    [self.text drawInRect:self.bounds withFont:self.font lineBreakMode:self.lineBreakMode alignment:self.textAlignment];
}
- (void)dealloc
{
    [super dealloc];
    [self.insideColor  release];
    [self.outLineColor release];
    [self.blurColor    release];
}
@end
原文地址:https://www.cnblogs.com/pengyingh/p/2453541.html