I have a Mac application that uses an animation group NSAnimationContextto animate NSViewoff-screen and another NSViewon-screen animation . Before starting an animation grouping, I place the splash screen NSViewin the position in which I want it to appear when it is animated on the screen.
In Yosemite and earlier, this worked fine, but in El Capitan it was as if it NSViewhad never positioned in the starting position, which I indicate that it should animate on the screen in the wrong direction.
offscreenView.frame = STARTING_OFFSCREEN_RECT;
[NSAnimationContext beginGrouping];
[[NSAnimationContext currentContext] setDuration:animationDuration];
[[NSAnimationContext currentContext] setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[NSAnimationContext currentContext] setCompletionHandler:^{
}];
onscreenView.frame = ENDING_OFFSCREEN_RECT:
offscreenView.frame = ENDING_ONSCREEN_RECT;
[NSAnimationContext endGrouping];
I debugged it to the best of my ability, and it seems to me that the frame setting offscreenViewin the very beginning does not actually happen.
Does anyone know what I'm doing wrong?