【问题标题】:Smoothly interpolate between two arbitrary values over a time interval (similar to Core Animation.)在时间间隔内在两个任意值之间平滑插值(类似于核心动画。)
【发布时间】:2025-11-28 12:25:01
【问题描述】:

我有一个属性float a,我想在两个值之间进行插值,比如float minfloat max,在某个时间间隔内(float t 秒)。

Core Animation 在幕后做了很多类似的事情;我可以利用它来做非显示工作,还是有另一个库可以在 Cocoa Touch 中做到这一点?

我可以使用 NSTimer 自己动手,但是 a) 这很难,b) 我想我会先检查一下是否有现有的技术可以做到这一点。

谢谢

【问题讨论】:

    标签: objective-c cocoa-touch


    【解决方案1】:

    在 Mac 上,您可以使用 NSAnimation 来轻松完成此操作。 NSAnimation 不在 iOS 上,但实际上它是一个非常简单的类,可以自己编写。看看 NSAnimation 的设计以获得一些灵感。即,一个-(void)setCurrentProgress:(float)progress 方法,它执行插入和设置值以“动画”的工作。

    【讨论】: