zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    第6课.内联函数分析
    第5课.引用的本质分析
    第4课.布尔类型和引用
    第3课.进化后的const
    第2课.C到C++的升级
    c语言深度解剖(笔记)
    你必须知道的495个c语言问题(笔记)
    JS弹出框
    车牌号正则表达式
    input输入文字后背景色变成了黄色 CSS改变(去掉黄色背景)
  • 原文地址:https://www.cnblogs.com/pengyingh/p/2453541.html
Copyright © 2011-2022 走看看