gpt4 book ai didi

ios - 自定义动画 : easing out

转载 作者:行者123 更新时间:2023-11-28 10:08:07 32 4
gpt4 key购买 nike

我已经成功地在 UIView 的绘图中创建了自定义动画,方法是使用重复的 Timer 每隔几毫秒增加绘图的 alpha。

现在,我想用我的绘图实现缓动动画(减速)。我想通过每次调用 Timer 时以更长的间隔触发一个新的计时器来做到这一点,这样 alpha 的增量就会变慢,从而导致减速。

我知道 CAMediaTiming 有一个 easeOut 动画,但我想知道是否有任何内置函数来获取减速数字。例如,如果我传入一个常量 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)

可以使用其他动画曲线,例如 .curveEaseIn.curveEaseInOut 以及其他选项。您可以阅读有关动画选项的更多信息 here .

您也可以使用完成处理程序闭包来链接动画。


如果您坚持使用计时器实现您自己的动画方式(我不推荐这样做),请发布一些代码,以便我可以考虑一种将曲线应用于不断变化的值的方法。

关于ios - 自定义动画 : easing out,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51177916/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com