Windows, Panels, and Screens

Organize your view hierarchies and facilitate their display onscreen.



class NSWindow

A window that an app displays on the screen.

class NSPanel

A special kind of window that typically performs a function that is auxiliary to the main window.

protocol NSWindowDelegate

A set of optional methods that a delegate of NSWindow can implement to respond to events, such as window resizing, moving, exposing, and minimizing.

class NSWindowTab

A tab associated with a window that is part of a tabbing group.

class NSWindowTabGroup

A group of windows that display together as a single tabbed window.

Window Restoration

protocol NSWindowRestoration

A set of methods that restoration classes must implement to handle the recreation of windows.

protocol NSUserInterfaceItemIdentification

A set of methods used to associate a unique identifier with objects in your user interface.


class NSScreen

An object that describes the attributes of a computer’s monitor or screen.


class NSPopover

A means to display additional content related to existing content on the screen.

protocol NSPopoverDelegate

A set of optional methods that a popover delegate can implement to provide additional or custom functionality.


class NSAlert

A modal dialog or sheet attached to a document window.

protocol NSAlertDelegate

A set of optional methods implemented by the delegate of an NSAlert object to respond to a user's request for help.

Open and Save Panels

class NSOpenPanel

A panel that prompts the user to select a file to open.

class NSSavePanel

A panel that prompts the user for information about where to save a file.

protocol NSOpenSavePanelDelegate

A set of methods for managing interactions with an open or save panel.

Print and PDF Panels

class NSPDFPanel

A Save or Export as PDF panel that’s consistent with the macOS user interface.

protocol NSPrintPanelAccessorizing

A set of methods that a print panel object can use to get information from a printing accessory controller.

Color Panels

class NSColorPanel

A standard user interface for selecting color in an app.

protocol NSColorPickingCustom

A set of methods that provides a way to add color pickers—custom user interfaces for color selection—to an app’s color panel.

protocol NSColorPickingDefault

A set of methods that provides basic behavior for a color picker.

class NSColorPicker

An abstract superclass that implements the NSColorPickingDefault protocol.

Font Panels

class NSFontPanel

The Font panel—a user interface object that displays a list of available fonts, letting the user preview them and change the font used to display text.


A set of methods you use to tell the Font panel to display some or all of its elements.

See Also

User Interface

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 your content onscreen and define the interactions allowed with that content.

View Management

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

View Layout

Position and size views using a stack view or Auto Layout constraints.

Appearance Customization

Add Dark Mode support to your app, and use appearance proxies to modify your UI.


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

Sound, Speech, and Haptics

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