iOS UILabel闪烁字体实现

来源:互联网 发布:卡戴珊家族知乎 编辑:程序博客网 时间:2024/06/11 14:18


//根据@吖了个峥 写


 UILabel *label = [[UILabelalloc]initWithFrame:CGRectMake(30,15, 120,20)];

    label.text =@"测试";

    [label sizeToFit];

    [self.viewaddSubview:label];

    

    CAGradientLayer *gradientLayer = [CAGradientLayerlayer];

    gradientLayer.frame = label.frame;

    gradientLayer.colors =@[(id)[selfrandomColor].CGColor,(id)[selfrandomColor].CGColor,(id)[selfrandomColor].CGColor];

    [self.view.layeraddSublayer:gradientLayer];

    

    _gradientLayer = gradientLayer;

    

    

    gradientLayer.mask = label.layer;

    

    label.frame = gradientLayer.bounds;

    

    CADisplayLink *link = [CADisplayLinkdisplayLinkWithTarget:selfselector:@selector(textColorChange)];

    

    [link addToRunLoop:[NSRunLoopmainRunLoop] forMode:NSDefaultRunLoopMode];





// 随机颜色方法

-(UIColor *)randomColor{

    CGFloat r = arc4random_uniform(256) /255.0;

    CGFloat g = arc4random_uniform(256) /255.0;

    CGFloat b = arc4random_uniform(256) /255.0;

    return [UIColorcolorWithRed:r green:gblue:b alpha:1];

}


//定时器触发方法

-(void)textColorChange {

    _gradientLayer.colors =@[(id)[selfrandomColor].CGColor,

                              (id)[selfrandomColor].CGColor,

                              (id)[selfrandomColor].CGColor,

                              (id)[selfrandomColor].CGColor,

                              (id)[selfrandomColor].CGColor];

}



原创粉丝点击