button渐变色 ios_UIButton 背景色渐变动画

项目有个需求需要UIButton上的背景色是渐变动画的效果,如下。

73a9ab4c5639ee7dfe0412e1303bb4e2.gif

实现原理

CAGradientLayer 用于实现渐变效果,CABasicAnimation用于对Layer做动画

源码:https://github.com/LSnumber1/...

思路

看gif图我们发现动画是从右到左,颜色一直渐变向左滑动的,把效果拆解下,可以分为两部分:

实现颜色的阶梯变化

对实现的阶梯颜色做动画

颜色阶级渐变

初始化一个CAGradientLayer,他的frame的宽高和UIButton的一致。

var caGradientLayer = CAGradientLayer()

caGradientLayer?.frame = CGRect(x: 0, y: 0, width: 200, height: 50)

CAGradientLayer涉及到一个坐标,该坐标体系以左上角为圆点(0,0),右下角为终点(1,1)

a0404acb8b7b24cbd2e8ddded20e738e.png

CAGradientLayer的startPoint是绘制阶级颜色的起始点&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值