Animation

Animate your views and other content to create a more engaging experience for users.

Topics

View-Based Animations

class NSViewAnimation

An animation of an app's views, limited to changes in frame location and size, and to fade-in and fade-out effects.

protocol NSAnimatablePropertyContainer

A set of methods that defines a way to add animation to an existing class with a minimum of API impact.

class NSAnimationContext

An animation context, which contains information about environment and state.

typealias NSAnimation.Progress

The animation progress, as a floating-point number between 0.0 and 1.0.

enum NSAnimationEffect

The type for standard system animation effects, which include both display and sound.

Presentations

protocol NSViewControllerPresentationAnimator

A set of methods that let you define animations to play when transitioning between two view controllers.

Custom Animations

class NSAnimation

An object that manages the timing and progress of animations in the user interface.

protocol NSAnimationDelegate

A set of optional methods implemented by delegates of NSAnimation objects.

See Also

User Interface

Supporting Dark Mode in Your Interface

Update colors, images, and behaviors so that your app adapts automatically when Dark Mode is active.

Supporting Continuity Camera in Your Mac App

Incorporate scanned documents and pictures taken with a user's iPhone, iPad, or iPod touch into your Mac app using Continuity Camera.

Views and Controls

Present and define the interactions for your content onscreen.

View Management

Manage your user interface, including the size and position of views in a window.

Menus, Cursors, and the Dock

Implement menus and cursors to facilitate interactions with your app, and use your app's Dock tile to convey updated information.

Windows, Panels, and Screens

Organize your view hierarchies and facilitate their display onscreen.

Touch Bar

Display interactive content and controls in the Touch Bar.

Sound, Speech, and Haptics

Play sounds and haptic feedback, and incorporate speech recognition and synthesis into your interface.