我有一个名为needleImageView的UIImageView设置,我需要在10秒内旋转360度,即ImageView的20.00 20.00点。
是否有人能够向我展示此功能的示例代码?
谢谢, -code
答案 0 :(得分:4)
这是逻辑......尝试实施。
启动计时器
//在头文件中
fireInterval = 10;
mStartingAngle = 0;
mEndingAngle = 360;
//实施
-(void) startTimer
{
mPreviousTime = [NSDate timeIntervalSinceReferenceDate];
}
在循环中
-(void) updateFunction
{
NSTimeInterval timeNow = [NSDate timeIntervalSinceReferenceDate];
//NewValue = (((OldValue - OldMin) * (NewMax - NewMin)) / (OldMax - OldMin)) + NewMin
//Mapping values between mStartAngle and mEndAngle
mCurrentAngle = (((timeNow - mPreviousTime) * (mEndingAngle - mStartingAngle)) / (previousTime+fireInterval - mPreviousTime)) + mStartingAngle;
if( mPreviousTime + fireInterval <= timeNow )
{
NSLog(@"10 seconds completed");
mPreviousTime = timeNow;
}
}