什么是iOS中的默认animation缓动function?
在iOSanimation是默认的缓动function( UIViewAnimationOptionCurveEaseInOut
)二次或立方? 还有什么?
这是一个三次贝塞尔曲线 。 精确的控制点没有logging,所以他们可以在不同版本之间进行更改,但可以通过CAMediaTimingFunction
:
CAMediaTimingFunction *func = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; for (int i = 0; i < 4; i++) { float *values = malloc(sizeof(float) * 2); [func getControlPointAtIndex:i values:values]; NSLog(@"Control point %i: (%f, %f)", i+1, values[0], values[1]); free(values); }
我得到的值是(0.0, 0.0)
, (0.42, 0.0)
, (0.58, 1.0)
(0.42, 0.0)
, (0.58, 1.0)
(1.0, 1.0)
,大致对应于这条曲线: