Jump To:
Leopard Reference Library: User Experience
User experience encompasses the visual appearance, interactive behavior, and assistive capabilities of software. From an application's graphical user interface to its use of additional technologies such as speech recognition and speech synthesis, a cohesive and professional user experience is what Mac users have come to expect. Cocoa provides a complete suite of Interface Builder palettes and programmatic interfaces that developers can use to deliver this experience in their applications.

View all Cocoa Reference Library.
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Resource Type
Sort by
Date
AbstractTree (HTML) (DMG) (ZIP)
Using NSTreeController with NSOutlineView, Bindings, and Core Data.
Sample Code 2008-03-17
Accessibility Programming Guidelines for Cocoa (HTML) (PDF)
Explains how Cocoa applications make their user interface available to external assistive applications.
Guides 2007-02-08
Apple Help Programming Guide (HTML) (PDF)
Explains how to author, package, and display user help content in Mac OS X.
Guides 2007-10-31
Apple Human Interface Guidelines (HTML) (PDF)
Introduces the Mac OS X user experience and explains how to design an application for Aqua.
Guides 2008-06-09
Application Kit Framework Reference (HTML) (PDF)
Describes the interface for all things related to an application's user interface.
Reference 2008-11-19
Application Menu and Pop-up List Programming Topics for Cocoa (HTML) (PDF)
Explains how Cocoa menus and lists work and how to manipulate items within them.
Guides 2007-06-26
BasicCocoaAnimations (HTML) (DMG) (ZIP)
"BasicCocoaAnimations" demonstrates the use of the animator proxy to easily animate Cocoa views and windows.
Sample Code 2007-06-11
Boinx Starts with Sample Code: FotoMagico Is a Powerful Digital Slideshow (HTML)
Starting with Apple sample code, tools and technologies, Boinx wrote FotoMagico in a matter of months.
Articles 2007-12-11
Boxes (HTML) (PDF)
Explains how to use Cocoa boxes.
Guides 2003-02-15
Browsers (HTML) (PDF)
Explains how to use Cocoa browsers.
Guides 2004-08-31
BundleLoader (HTML) (DMG) (ZIP)
Demonstrates how to load multiple Cocoa bundles or NSBundles (also known as plug-ins) into the main NSApplication.
Sample Code 2007-09-21
Button Programming Topics for Cocoa (HTML) (PDF)
Explains how to use Cocoa buttons.
Guides 2008-10-15
ButtonMadness (HTML) (DMG) (ZIP)
Demonstrates how to use the various types of buttons using a nib file or programatically.
Sample Code 2007-10-30
Combo Box Programming Topics (HTML) (PDF)
Explains how to use Cocoa combo boxes.
Guides 2002-11-12
Configuring the Recent Searches menu for NSSearchField (HTML)
QA1496: Discusses the common problem when adding menu items to the Recent Searches menu.
Technical Q&As 2006-11-27
Control and Cell Programming Topics for Cocoa (HTML) (PDF)
Explains the relationship between Cocoa control and cell objects.
Guides 2008-10-15
CoreRecipes (HTML) (DMG) (ZIP)
Demonstrates the use of Core Data (persistency and object-graph management) with a variety of application projects.
Sample Code 2005-06-01
Creating an About Panel in Your Cocoa Application (HTML)
TN2179: Describes different ways in implementing your Cocoa application's "About" panel.
Technical Notes 2007-01-22
CustomSave (HTML) (DMG) (ZIP)
Demonstrates how to customize the NSSavePanel.
Sample Code 2007-06-11
DatePicker (HTML) (DMG) (ZIP)
Demonstrates how to use the NSDatePicker control.
Sample Code 2007-04-25
Debugging a WebKit Plug-in in Xcode (HTML)
QA1500: Directions for debugging a WebKit plug-in in Xcode.
Technical Q&As 2007-06-05
Debugging NSTableView's "Action Invocation" binding (HTML)
QA1472: Discusses the issues and factors that affect NSTableView's "Action Invocation" binding.
Technical Q&As 2006-11-13
Dialogs and Special Panels (HTML) (PDF)
Explains how to create alert panels. Includes links to documents about other types of panels.
Guides 2009-02-04
DictionaryController (HTML) (DMG) (ZIP)
"DictionaryController" is a Cocoa application that demonstrates various ways in how to use the NSDictionaryController class.
Sample Code 2007-12-20
Disabling and Enabling an NSTextView (HTML)
QA1461: Shows how a Cocoa application can disable and enable an NSTextView.
Technical Q&As 2006-09-11
Disc Recording UI Framework Reference (HTML)
Describes the Objective-C and C API for presenting a user interface when burning audio and data CDs and DVDs.
Reference 2008-04-08
DiscRecording Release Notes (HTML)
Updated for Mac OS X v10.5
Release Notes 2007-10-31
Dock Tile Programming Guide (HTML) (PDF)
Explains how to provide an icon and contextual menu in Carbon applications.
Guides 2009-03-04
DockTile (HTML) (DMG) (ZIP)
Demonstrates how to customize your application's icon in the Dock by using the NSDockTile class.
Sample Code 2007-09-11
Drag and Drop Programming Topics for Cocoa (HTML) (PDF)
Explains how to implement drag and drop in Cocoa.
Guides 2006-06-28
Drawers (HTML) (PDF)
Explains how to use Cocoa drawers.
Guides 2003-02-04
Embedding Hyperlinks in NSTextField and NSTextView (HTML)
QA1487: Shows how a Cocoa app can embed a hyperlink inside both NSTextField and NSTextView using NSAttributedString.
Technical Q&As 2006-10-02
Enabling the application menu's "Preferences" menu item on Mac OS X (HTML)
QA1552: Describes the two things you need to implement to enable the "Preferences" menu item on Mac OS X.
Technical Q&As 2008-01-21
Find By Content Reference (HTML) (PDF)
Deprecated - Describes the legacy C API for performing relevance-ranked searches. Replaced by Search Kit.
Reference 2006-07-13
Finding an NSView's current magnification. (HTML)
QA1346: How to discover the current magnification (zoom level) of any NSView.
Technical Q&As 2005-03-08
Font Panel (HTML) (PDF)
Explains how to use the Cocoa Font panel.
Guides 2004-08-31
Forms (HTML) (PDF)
Explains how to use Cocoa forms.
Guides 2002-11-12
Grady (HTML) (DMG) (ZIP)
Demonstrates how to use the NSGradient class.
Sample Code 2007-02-28
Guide to Creating Kiosks on Mac OS X (HTML) (日本語 HTML)
TN2062: Discusses techniques used in creating applications which require kiosk-like functionality on Mac OS X.
Technical Notes 2003-02-24
How to get custom views to show up in NSToolbarItems (HTML)
QA1029: Why custom views may not show up in an NSToolBarItem and how to make it visible.
Technical Q&As 2001-05-03
How to make NSTextField accept tab, return and enter keys. (HTML)
QA1454: Describes how to make the NSTextField control accept tab, return and enter keys by using the control's dispatch delegate method.
Technical Q&As 2006-10-09
IconCollection (HTML) (DMG) (ZIP)
Demonstrates how to use NSCollectionView along with NSWorkspace and named images to determine its content.
Sample Code 2008-01-18
Image Kit with Core Data (HTML) (DMG) (ZIP)
Using Image Kit's browser view with Core Data content.
Sample Code 2008-07-25
Image Views (HTML) (PDF)
Explains how to use Cocoa image views.
Guides 2002-11-12
ImageBackground (HTML) (DMG) (ZIP)
Shows how to draw an image in the background of an NSOutlineView and NSTableView.
Sample Code 2006-10-02
LayerBackedOpenGLView (HTML) (DMG) (ZIP)
"LayerBackedOpenGLView" provides a simple example of hosting Cocoa controls as subviews of an NSOpenGLView.
Sample Code 2007-06-12
Matrix Programming Guide for Cocoa (HTML) (PDF)
Explains how to use Cocoa matrices.
Guides 2006-11-07
MenuItemView (HTML) (DMG) (ZIP)
Demonstrates embedding an NSView inside a menu item or NSMenuItem.
Sample Code 2007-06-11
MungSaver (HTML) (DMG) (ZIP)
Demonstrates a simple Screen Saver module for Panther, using the Sequence Grabber DataProc mung technique.
Sample Code 2003-11-18
MyCustomColorPicker (HTML) (DMG) (ZIP)
Shows how to write a custom color picker using Cocoa.
Sample Code 2006-10-09
NSActionCell Class Reference (HTML) (PDF)
Describes the interface for the active area in a control.
Reference 2007-02-28
NSAlert Class Reference (HTML) (PDF)
Describes a window that displays a message and obtains the user's response to it.
Reference 2007-04-25
NSBox Class Reference (HTML) (PDF)
Describes a view that can display its border and a title.
Reference 2008-10-15
NSBrowser Class Reference (HTML) (PDF)
Describes a control for manipulating one- or two-dimensional data sets.
Reference 2007-04-05
NSBrowserCell Class Reference (HTML) (PDF)
Describes a cell that displays data in a browser.
Reference 2007-04-01
NSButton Class Reference (HTML) (PDF)
Describes a control that responds to clicks.
Reference 2007-04-01
NSButtonCell Class Reference (HTML) (PDF)
Describes a cell that responds to mouse clicks.
Reference 2009-04-08
NSCell Class Reference (HTML) (PDF)
Describes the interface for cell objects.
Reference 2009-02-04
NSColorPicker Class Reference (HTML) (PDF)
Describes the interface for custom views in a color panel used for color selection.
Reference 2007-02-28
NSColorPickingCustom Protocol Reference (HTML) (PDF)
Describes the interface for receiving custom color-picker user-interface requests.
Reference 2007-04-01
NSColorPickingDefault Protocol Reference (HTML) (PDF)
Describes the interface for receiving basic color-picker user-interface requests.
Reference 2007-04-27
NSColorWell Class Reference (HTML) (PDF)
Describes a control for displaying and selecting colors.
Reference 2007-02-28
NSComboBox Class Reference (HTML) (PDF)
Describes a control for entering text or selecting from a pop-up list of items.
Reference 2006-05-23
NSComboBoxCell Class Reference (HTML) (PDF)
Describes the text field that provides the user interface for NSComboBox objects.
Reference 2006-05-23
NSComboBoxCellDataSource Protocol Reference (HTML) (PDF)
Describes the interface for receiving data requests from an NSComboBoxCell object.
Reference 2006-05-23
NSComboBoxDataSource Protocol Reference (HTML) (PDF)
Describes the interface for receiving data requests from an NSComboBox object.
Reference 2006-05-23
NSControl Class Reference (HTML) (PDF)
Describes the interface for views that respond to user actions by sending action messages.
Reference 2008-10-15
NSCursor Class Reference (HTML) (PDF)
Describes the appearance of the user interface cursor.
Reference 2009-01-06
NSDateFormatter Class Reference (HTML) (PDF)
Describes a date formatter.
Reference 2008-11-19
NSDatePicker Class Reference (HTML) (PDF)
Describes a control for displaying and editing a date.
Reference 2008-06-09
NSDatePickerCell Class Reference (HTML) (PDF)
Describes a cell for displaying and editing a date.
Reference 2008-06-09
NSDrawer Class Reference (HTML) (PDF)
Describes a retractable user interface element that displays view objects.
Reference 2006-05-23
NSErrorRecoveryAttempting Protocol Reference (HTML) (PDF)
Describes the interface for attempting recovery from runtime errors.
Reference 2007-02-23
NSFontPanel Class Reference (HTML) (PDF)
Describes the panel for font selection.
Reference 2007-04-06
NSFontPanelValidation Protocol Reference (HTML) (PDF)
Describes the interface for validating fonts.
Reference 2007-04-06
NSForm Class Reference (HTML) (PDF)
Describes a vertical matrix of NSFormCell objects.
Reference 2006-05-23
NSFormatter Class Reference (HTML) (PDF)
Describes the interface for formatter objects.
Reference 2007-07-09
NSFormCell Class Reference (HTML) (PDF)
Describes a title and text entry field in an NSForm object.
Reference 2006-05-23
NSHelpManager Class Reference (HTML) (PDF)
Describes an application-level help system.
Reference 2009-02-04
NSImageCell Class Reference (HTML) (PDF)
Describes an object that displays an image in a frame, usually in a control.
Reference 2009-01-06
NSImageView Class Reference (HTML) (PDF)
Describes a view that displays an image.
Reference 2007-01-22
NSInputManager Class Reference (HTML) (PDF)
Describes the class used by text views to communicate with the text input management system.
Reference 2007-04-01
NSInputServer Class Reference (HTML) (PDF)
Describes the class that interprets text view events and communicates them to the text input management system.
Reference 2007-04-01
NSInputServerMouseTracker Protocol Reference (HTML) (PDF)
Describes the protocol implemented by text input servers to handle mouse events.
Reference 2007-04-02
NSInputServiceProvider Protocol Reference (HTML) (PDF)
Describes the protocol implemented by text input servers to handle application and text field events.
Reference 2007-04-02
NSLevelIndicator Class Reference (HTML) (PDF)
Describes a control for displaying a rank or amount along a linear scale.
Reference 2007-03-01
NSLevelIndicatorCell Class Reference (HTML) (PDF)
Describes a cell used for displaying a rank or amount along a linear scale.
Reference 2007-03-01
NSLocale Class Reference (HTML) (PDF)
Describes a locale.
Reference 2008-02-08
NSMatrix Class Reference (HTML) (PDF)
Describes a group of cell objects that work together in various ways.
Reference 2008-10-15
NSMenu Class Reference (HTML) (PDF)
Describes an application menu.
Reference 2008-02-08
NSMenuItem Class Reference (HTML) (PDF)
Describes a menu item.
Reference 2008-02-08
NSMenuItem Protocol Reference (HTML) (PDF)
Deprecated - Describes a deprecated protocol replaced by the NSMenuItem class.
Reference 2007-02-08
NSMenuItemCell Class Reference (HTML) (PDF)
Describes a deprecated class replaced by the NSMenuItem class.
Reference 2007-03-07
NSMenuValidation Protocol Reference (HTML) (PDF)
Describes the interface for enabling and disabling menu items.
Reference 2007-03-02
NSMenuView Class Reference (HTML) (PDF)
Describes a deprecated class replaced by the NSMenu class.
Reference 2009-02-04
NSNumberFormatter Class Reference (HTML) (PDF)
Describes a number formatter.
Reference 2008-11-19
NSOpenGLView Class Reference (HTML) (PDF)
Describes a view for OpenGL drawing.
Reference 2007-01-26
NSOpenPanel - Choosing any file and ignoring packages (HTML)
QA1468: Explains how to configure NSOpenPanel to filter only files and ignoring packages.
Technical Q&As 2007-01-25
NSOpenPanel Class Reference (HTML) (PDF)
Describes the panel that a user employs to locate and open a file.
Reference 2009-02-04
NSOutlineView Class Reference (HTML) (PDF)
Describes a row-and-column format view for displaying hierarchical data.
Reference 2009-02-04