CADisplayLink
基于时间的动画效果,和
CADisplayLink
基于位置的动画效果
小灰面试小白,
问: “以前美团的 tabbar , 有一个点击选项卡,选项卡拱起”
“就是矩形局部拱起的效果,怎么实现”
小白:“Open GL, 研究没这么深,再见”
小灰: "使用 CADisplayLink + 子定制绘图,也可以做 "
CADisplayLink
动画效果, 局部拱起如下图: 左边拱起来,效果
设置背景色为透明
因为动画是基于绘图 drawRect
@objc func tap(with gesture: UITapGestureRecognizer){guard !jelly.animating else{ return }let point = gesture.location(in: partial)let width = partial.frame.widthlet isRight = point.x > width / 2let idx = isRight ? 1 : 0partial.backgroundColor = UIColor.clearpartial.startAnimation(idx)}
两个辅助状态保存类,省略了,
具体见 github repo
所以 view 要预先留一个空档
可通过上文的边框线,理解
不可手动设置
就要把基于时间的动画,其持续时间,转化为一定的次数
( 从 from 的状态, 到 to 的状态 )
这里 total = time * 20
, 给予了一定的次数,消费完,就结束
具体见 github repo
( 切题 &#
本文发布于:2024-02-04 13:27:12,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170708310055982.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |