在一个点上旋转UIImageView超过10秒?

时间:2010-09-22 09:59:26

标签: iphone objective-c

我有一个名为needleImageView的UIImageView设置,我需要在10秒内旋转360度,即ImageView的20.00 20.00点。

是否有人能够向我展示此功能的示例代码?

谢谢, -code

1 个答案:

答案 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;
            }
}