1 animation uiview camediatiming ios swift
我已经成功地在 a 中的绘图中创建了一个自定义动画,方法是UIView使用重复Timer每隔几毫秒增加一次绘图的 alpha。
现在,我想通过我的绘图实现缓动动画(减速)。我想通过每次Timer调用时以更长的间隔触发一个新的计时器来做到这一点,以便 alpha 增加得更慢,从而导致减速。
我知道有一个来自 的easeOut 动画CAMediaTiming,但我想知道是否有任何内置函数来获取减速数字。例如,如果我传入一个常数 10,则每次调用该函数时,我都会得到减速数字,例如 15、18、20、21、21.5 等。
有一种内置方法可以在标准UIView动画中使用各种动画曲线。
var yourView = UIView() // Or whatever your view might be
var yourView.alpha = 0 // Initial alpha value
// Call the animation method. Note options (which can be an array) which applies an ease-out curve to the animation
UIView.animate(withDuration: 1.0, delay: 0.0, options: .curveEaseOut, animations: {
yourView.alpha = 1.0 // Final value of alpha
}, completion: nil)
Run Code Online (Sandbox Code Playgroud)
可以使用其他动画曲线,例如.curveEaseIn和.curveEaseInOut以及其他选项。您可以在此处阅读有关动画选项的更多信息。
您也可以使用完成处理程序闭包来链接动画。
如果您坚持使用计时器实现自己的动画方式(我不推荐这样做),请发布一些代码,以便我可以考虑将曲线应用于不断变化的值的方法。
| 归档时间: |
|
| 查看次数: |
4398 次 |
| 最近记录: |