유일한 방법은 CADisplayLink를 사용하여 불투명도/회전을 수동으로 애니메이션하고 Core Animation을 사용하지 않고 값을 보간하는 것입니다.
startTimestamp = CACurrentMediaTime();
CADisplayLink *displayLink = [CADisplayLink displayLinkWithTarget:self
selector:@selector(animate:)]
[displayLink addToRunLoop:[NSRunLoop currentRunLoop]
forMode:NSDefaultRunLoopMode];
...
- (void)animate:(CADisplayLink *)link {
float duration = 1.0;
float dt = (link.timestamp - startTimestamp)/duration;
// Done?
if (dt > 1.0) {
[link invalidate];
return;
}
// Disable CoreAnimation implicit animations
[CATransaction begin];
[CATransaction setDisableActions:YES];
layer.opacity = dt;
[CATransaction commit];
}