An object that manages standard appearance attributes for UI elements in an app.


@interface NSAppearance : NSObject


An NSAppearance object manages how AppKit renders your app's UI elements. Specifically, appearance objects determine which colors and images AppKit uses when drawing windows, views, and controls. Although you can use an appearance object to determine how to draw custom views and controls, a better approach is to choose colors and images that adapt automatically to the current appearance. For example, define a color asset whose actual color value changes for light and dark appearances. You can assign specific appearances to your views in Interface Builder.

The user chooses the default appearance for the system, but you can override that appearance for all or part of your app. Apps inherit the default system appearance, windows inherit their app's appearance, and views inherit the appearance of their nearest ancestor (either a superview or window). To force a window or view to adopt an appearance, assign a specific appearance object to its appearance property.

When AppKit draws a control, it automatically sets the current appearance on the current thread to the control’s appearance. The current appearance influences the drawing path and return values you get when you access system fonts and colors. The current appearance also affects the appearance of text and images, such as the text and template images in a toolbar.


Creating an Appearance

+ appearanceNamed:

Creates an appearance object based on the name of one of the standard system appearances.

- initWithAppearanceNamed:bundle:

Creates an appearance object from the named appearance file located in the specified bundle.

Getting the Appearance Name


The name of the appearance.

Determining the Most Appropriate Appearance

- bestMatchFromAppearancesWithNames:

Returns the appearance name that most closely matches the current appearance object.

Getting and Setting the Current Appearance


Returns the appearance object that is active on the current thread.

Managing Vibrancy


Specifies whether the current appearance allows vibrancy.


Inherits From

Conforms To

See Also

Appearance System


A set of methods for getting and setting the appearance attributes of a view.