Art*_*sev 2 core-animation objective-c nsdate calayer ios
我有一个4层的UIViewControler.
我已经让每只手在正确的时间开始移动(通过根据应用程序加载的时间在圆上定义角度).
如何使用CABasicAnimation存取方法正确定义运动的运动和持续时间(应该是无限的)?
例如,我将我的secondHandMotion(它是一个实例化的CABasicAnimation对象)设置为与当前时间对应的时钟帧上的某个角度:
CABasicAnimation *secondHandMotion = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
secondHandMotion.fromValue = [NSNumber numberWithFloat:sAlpha];
secondHandMotion.toValue = [NSNumber numberWithFloat:(2*M_PI)];
[secondHand addAnimation:secondHandMotion forKey:@"transform"];
Run Code Online (Sandbox Code Playgroud)
sAlpha角度在哪里是时间的函数.的secondHandMotion.toValue说法是错误的,我知道.我怎么告诉它继续移动,并以正确的间隔,1秒钟滴答?
谢谢!
当我在我的一个应用程序中实现这一点时,我从本教程开始
它重新计算每一秒,这可能会给出与系统时钟相关的更准确的结果.
我实现旋转的方式是这样的(这是动画部分,你仍然需要你以前做过的角度计算).
CGAffineTransform transform = CGAffineTransformIdentity;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
self.hourView.transform = CGAffineTransformRotate(transform, hourAngle);
self.minView.transform = CGAffineTransformRotate(transform, minutesAngle);
self.secondView.transform = CGAffineTransformRotate(transform, secondsAngle);
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)
注意:我在iOS学习中很早就写了这个,所以它可能有点可怕.
| 归档时间: |
|
| 查看次数: |
3859 次 |
| 最近记录: |