Вот логика ... Попробуйте реализовать.
На таймере запуска
// в заголовочном файле
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;
}
}