利用CADisplayLink 和 CAGradientLayer来实现文字渐变效果
来源:互联网 发布:linux tar zcvf命令 编辑:程序博客网 时间:2024/05/20 10:54
- (void)viewDidLoad {
UILabel *label = [[UILabelalloc]initWithFrame:CGRectMake(0,0, 200,100)];
label.text =@"一个人的时候,我想静一静";
label.adjustsFontSizeToFitWidth =YES;
[self.viewaddSubview:label];
//创建透明层和label控件的大小一致
layer = [CAGradientLayerlayer];
layer.frame = label.frame;
//设定渐变层变化color的数组
layer.colors =@[(id)[selfrandomColor].CGColor,(id)[selfrandomColor].CGColor,(id)[selfrandomColor].CGColor,(id)[selfrandomColor].CGColor,(id)[selfrandomColor].CGColor];
//把渐变层加到整个view上面
[self.view.layeraddSublayer:layer];
//最关键的一步,设置渐变图层的mask为label图层,就能用文字裁剪渐变图层了
、、根据透明度进行裁剪,只保留非透明部分,显示底部内容
layer.mask = label.layer;
label.frame = layer.bounds;
//这个相比于NStimer的区别,大家自己去查
CADisplayLink *link = [CADisplayLinkdisplayLinkWithTarget:selfselector:@selector(textColorChange)];
[link addToRunLoop:[NSRunLoopmainRunLoop] forMode:NSDefaultRunLoopMode];
}
// 定时器触发方法
-(void)textColorChange {
layer.colors =@[(id)[selfrandomColor].CGColor,
(id)[selfrandomColor].CGColor,
(id)[selfrandomColor].CGColor,
(id)[selfrandomColor].CGColor,
(id)[selfrandomColor].CGColor];
}
-(UIColor*)randomColor{
return [UIColorcolorWithRed:arc4random_uniform(255)/255.0
green:arc4random_uniform(255)/255.0
blue:arc4random_uniform(255)/255.6
alpha:1];
}
- 利用CADisplayLink 和 CAGradientLayer来实现文字渐变效果
- CATextLayer与CAGradientLayer实现文字渐变的动画效果
- CAGradientLayer 实现颜色渐变效果简介
- CAGradientLayer 实现颜色渐变效果简介
- CAGradientLayer(颜色渐变) -- 实现iphone手机屏幕“滑动来解锁”动画效果
- CAGradientLayer实现"滑动来解锁"动画效果
- CAGradientLayer实现颜色渐变
- CAGradientLayer基本内容详解(实现开机渐变效果)
- CAGradientLayer处理颜色渐变效果
- android实现文字渐变效果和歌词进度的效果
- android实现文字渐变效果和歌词进度的效果
- 实现文字渐变的效果
- 实现文字的渐变效果
- iOS文字渐变效果实现
- UIView 实现渐变色 CAGradientLayer
- iOS CAGradientLayer 实现渐变色
- 利用LinearGradient Shader和Matrix来实现动态文字闪动效果
- UI -- 制作view渐变的效果CAGradientLayer
- Debug Java applications remotely with Eclipse
- Ubuntu 搜狗输入法 一直全角问题
- [文章摘要]Towards Privacy-Preserving Semantic Mobility Analysis
- 随机选取算法 (有权重的记录中选取)
- 关于Android的三种常用布局(TableLayout和AbsoluteLayout不常用,再次不做介绍)
- 利用CADisplayLink 和 CAGradientLayer来实现文字渐变效果
- Android DatePickerDialog存在执行两次onDateSet BUG
- MySQL默认INFORMATION_SCHEMA,MySQL,TEST三个数据库用途
- Java DES 加密和解密源码
- PHP权重算法-用于游戏根据权限来随机物品
- Struts2 基于XML配置方式实现对action的所有方法进行校验
- 附近QQ采集软件/QQ附近人采集软件
- Jdk安装与环境变量配置
- swift基本语法