0
我想動畫不受animateWithDuration:animations:
支持,不能由一個過渡動畫效果的UI元素。手冊動畫非動畫UI元素
我想到的第一件事是做這樣的事情:
_animationStartDate = [NSDate date];
[self performSelector:@selector(manualAnimation) withObject:nil afterDelay:1.0/MYManualAnimationFrameRate];
- (void)manualAnimation
{
NSDate *now = [NSDate date];
NSTimeInterval interval = [now timeIntervalSinceDate:_animationStartDate];
CGFloat progress = interval/MYManualAnimationDuration;
if (progress < 1)
{
[self setValuesOfManualAnimationAtProgress:progress];
[self performSelector:@selector(manualAnimation:) withObject:number afterDelay:1.0/MYManualAnimationFrameRate];
} else {
[self setValuesOfManualAnimationAtProgress:1];
}
}
之前重新發明輪子,有沒有爲這些類型的動畫中的任何API?
如果不是,我應該考慮的其他事項(例如,在dealloc
中調用cancelPreviousPerformRequestsWithTarget:selector:object:
,動態幀速率)?我會通過使用GCD獲得什麼?
如果你想知道,我的動畫'NSTextAttachment'性能。 – hpique
如果您打算做這樣的手動動畫,請使用CADisplayLink。 –
@DavidRönnqvistD'oh。隨意發佈它作爲答案。 – hpique