How to fade out a NSView with animation?
The modern approach is much easier: [NSAnimationContext runAnimationGroup:^(NSAnimationContext *context) { context.duration = 1; view.animator.alphaValue = 0; } completionHandler:^{ view.hidden = YES; view.alphaValue = 1; }]; If the view hierarchy is layer-backed, it’s actually sufficient to do: view.animator.hidden = YES;