Jump To:
Leopard Reference Library: Cocoa
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 User Experience 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
Adding and removing a submenu from a menu in Cocoa (HTML)
QA1420: Explains how to dynamically add and remove menus in a Cocoa application.
Technical Q&As 2007-09-10
AnimatedSlider (HTML) (DMG) (ZIP)
Demonstrates the use of an NSTimer to animate a control in Cocoa.
Sample Code 2003-01-14
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
Background-only apps with NSStatusItems become active in 10.1 on NSStatusItem clicks (HTML)
QA1081: Preventing background-only apps from activating when their NSStatusItem(s) are clicked in Mac OS X 10.1.
Technical Q&As 2001-10-30
BasicCocoaAnimations (HTML) (DMG) (ZIP)
"BasicCocoaAnimations" demonstrates the use of the animator proxy to easily animate Cocoa views and windows.
Sample Code 2007-06-11
Binding your Preferences in Cocoa (HTML)
Learn to use bindings by creating a simple app.
Articles 2004-04-26
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
CarbonCocoa_PictureCursor (HTML) (DMG) (ZIP)
Demonstrates how to use NSCursor from a Carbon based application.
Sample Code 2007-01-12
CarbonCocoaTempConverter (HTML) (DMG) (ZIP)
Demonstrates how to integrate Carbon and Cocoa user interfaces in the same Cocoa application.
Sample Code 2008-03-10
CarbonInCocoa (HTML) (DMG) (ZIP)
How to use Carbon GUI code in a Cocoa application.
Sample Code 2003-03-26
Clock Control (HTML) (DMG) (ZIP)
Demonstrates creating a custom control by creating a clock control, implemented as a subclass of NSControl and NSCell.
Sample Code 2003-02-25
Cocoa Bindings Programming Topics (HTML) (PDF)
Explains how to rapidly develop sophisticated user interfaces using Cocoa binding technology.
Guides 2009-03-08
Cocoa Bindings Reference (HTML) (PDF)
Describes the exposed bindings of Cocoa classes.
Reference 2007-10-31
Cocoa_With_Carbon_or_CPP (HTML) (DMG) (ZIP)
Shows how to call Carbon routines and C++ code from within an Objective-C Cocoa program.
Sample Code 2007-02-05
CocoaSlides (HTML) (DMG) (ZIP)
An image browser written using AppKit's Core Animation-based compositing and animation functionality
Sample Code 2007-11-02
Color Sampler (HTML) (DMG) (ZIP)
Demonstrates one way to sample the color at a given point in an NSView.
Sample Code 2003-01-14
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
Connecting the Font Menu in Interface Builder 3 (HTML)
QA1571: How to connect and configure the Font/Format menus in Interface Builder 3.
Technical Q&As 2008-01-21
Control and Cell Programming Topics for Cocoa (HTML) (PDF)
Explains the relationship between Cocoa control and cell objects.
Guides 2008-10-15
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
Cropped Image (HTML) (DMG) (ZIP)
Demonstrates how to extract a sub-image from another image, and some ways of indicating a selection.
Sample Code 2003-01-14
Cursor Management (HTML) (PDF)
Explains how to set the cursor and handle cursor-update events in Cocoa applications.
Guides 2008-03-11
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 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
DeskPictAppDockMenu (HTML) (DMG) (ZIP)
How to add a dynamic Dock menu to your Cocoa application
Sample Code 2003-01-14
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
Disabling text completion in an NSTextField (HTML)
QA1553: Shows how to implement a delegate method provided by NSControl to disable automatic text completion.
Technical Q&As 2008-02-27
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
DOMDocument Additions Reference (HTML) (PDF)
Describes the API added to the DOMDocument class to facilitate communication between WebKit and the DOM API.
Reference 2008-10-15
DOMElement Additions Reference (HTML)
Describes the API added to the DOMElement class to facilitate communication between WebKit and the DOM API.
Reference 2008-10-15
DOMHTMLDocument Additions Reference (HTML) (PDF)
Describes the API added to the DOMHTMLDocument class to facilitate communication between WebKit and the DOM API.
Reference 2009-01-26
DOMHTMLFrameElement Additions Reference (HTML) (PDF)
Describes the API added to the DOMHTMLFrameElement class to facilitate communication between WebKit and the DOM API.
Reference 2006-05-23
DOMHTMLIFrameElement Additions Reference (HTML) (PDF)
Describes the API added to the DOMHTMLIFrameElement class to facilitate communication between WebKit and the DOM API.
Reference 2006-05-23
DOMHTMLObjectElement Additions Reference (HTML) (PDF)
Describes the API added to the DOMHTMLObjectElement class to facilitate communication between WebKit and the DOM API.
Reference 2006-05-23
DOMNode Additions Reference (HTML) (PDF)
Describes the API added to the DOMNode class to facilitate communication between WebKit and the DOM API.
Reference 2009-02-04
DOMRange Additions Reference (HTML) (PDF)
Describes the API added to the DOMRange class to facilitate communication between WebKit and the DOM API.
Reference 2008-10-15
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
FancyAbout (HTML) (DMG) (ZIP)
Demonstrates several visual effects for "About..." panels such as scrolling text, window without a title bar, and ways to dismiss the window.
Sample Code 2003-10-27
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
FunkyOverlayWindow (HTML) (DMG) (ZIP)
Demonstrates several window layering, transparency and widget interaction techniques in Cocoa.
Sample Code 2003-05-08
Getting NSWindow's toolbar actions to show up in Interface Builder (HTML)
QA1030: How to add the missing -toggleToolbarShown: and -runToolbarCustomizationPalette actions to Interface Builder.
Technical Q&As 2001-05-03
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 create a Cocoa Disclosure Button Control (HTML)
QA1485: Explains how to create a disclosure button control in Cocoa, not immediately available in Interface Builder.
Technical Q&As 2006-08-01
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
How to remove the "Open Recent" menu item in a Document-based Cocoa application (HTML)
QA1289: Explains how to remove the "Open Recent" menu item in a Document-based Cocoa application.
Technical Q&As 2003-09-15
How to set a custom drag image when doing an HFS Promise drag in Cocoa (HTML)
QA1200: Explains how to set a custom drag image when doing an HFS Promise drag in Cocoa.
Technical Q&As 2003-09-15
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
iSpend (HTML) (DMG) (ZIP)
Demonstrates how to incorporate a number of Cocoa Tiger features into a simple application.
Sample Code 2005-06-01
JavaFrameEmbedding example (HTML) (DMG) (ZIP)
Small Cocoa application that demonstrates how to use JavaFrameEmbedding.framework
Sample Code 2007-06-12
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
MP3 Player (HTML) (DMG) (ZIP)
How to wrap a command-line UNIX/Linux application in a Cocoa GUI, calling a the command-line app through NSTask.
Sample Code 2003-01-14
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
NSAnimation Class Reference (HTML) (PDF)
Describes the behavior of an animation.
Reference 2007-10-31
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
NSCollectionView Class Reference (HTML) (PDF)
Describes a collection of views that displays content in a grid.
Reference 2007-12-11
NSCollectionViewItem Class Reference (HTML) (PDF)
Describes a controller that mediates between a prototype view and a model object.
Reference 2006-12-28
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