Jump To:
Leopard Reference Library
Cocoa is an object-oriented application environment designed for developing Mac OS X native applications. The Cocoa frameworks support rapid development and high productivity. Cocoa provides developers starting new Mac OS X projects the fastest way to full-featured implementations. Applications from other platforms can also be brought to Mac OS X quickly using Cocoa.

A guided introduction and learning path for developers new to Cocoa.   Essential information for developers using Objective-C.   Objective-C API references organized by framework.
Document Descriptions
On Off
Display

Sort by
Title
Sorted by
Topic
Sort by
Resource Type
Sort by
Date
Apple Human Interface Guidelines (HTML) (PDF)
Introduces the Mac OS X user experience and explains how to design an application for Aqua.
User Experience Guides 2008-06-09
Application Kit Framework Reference (HTML) (PDF)
Describes the interface for all things related to an application's user interface.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience Sample Code 2007-06-11
Binding your Preferences in Cocoa (HTML)
Learn to use bindings by creating a simple app.
User Experience Articles 2004-04-26
Boxes (HTML) (PDF)
Explains how to use Cocoa boxes.
User Experience Guides 2003-02-15
Browsers (HTML) (PDF)
Explains how to use Cocoa browsers.
User Experience 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.
User Experience Sample Code 2007-09-21
Button Programming Topics for Cocoa (HTML) (PDF)
Explains how to use Cocoa buttons.
User Experience Guides 2008-10-15
ButtonMadness (HTML) (DMG) (ZIP)
Demonstrates how to use the various types of buttons using a nib file or programatically.
User Experience Sample Code 2007-10-30
CarbonCocoa_PictureCursor (HTML) (DMG) (ZIP)
Demonstrates how to use NSCursor from a Carbon based application.
User Experience Sample Code 2007-01-12
CarbonCocoaTempConverter (HTML) (DMG) (ZIP)
Demonstrates how to integrate Carbon and Cocoa user interfaces in the same Cocoa application.
User Experience Sample Code 2008-03-10
CarbonInCocoa (HTML) (DMG) (ZIP)
How to use Carbon GUI code in a Cocoa application.
User Experience 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.
User Experience Sample Code 2003-02-25
Cocoa Bindings Programming Topics (HTML) (PDF)
Explains how to rapidly develop sophisticated user interfaces using Cocoa binding technology.
User Experience Guides 2009-03-08
Cocoa Bindings Reference (HTML) (PDF)
Describes the exposed bindings of Cocoa classes.
User Experience 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.
User Experience Sample Code 2007-02-05
CocoaSlides (HTML) (DMG) (ZIP)
An image browser written using AppKit's Core Animation-based compositing and animation functionality
User Experience Sample Code 2007-11-02
Color Sampler (HTML) (DMG) (ZIP)
Demonstrates one way to sample the color at a given point in an NSView.
User Experience Sample Code 2003-01-14
Combo Box Programming Topics (HTML) (PDF)
Explains how to use Cocoa combo boxes.
User Experience 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.
User Experience 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.
User Experience Technical Q&As 2008-01-21
Control and Cell Programming Topics for Cocoa (HTML) (PDF)
Explains the relationship between Cocoa control and cell objects.
User Experience 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.
User Experience 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.
User Experience Sample Code 2003-01-14
Cursor Management (HTML) (PDF)
Explains how to set the cursor and handle cursor-update events in Cocoa applications.
User Experience Guides 2008-03-11
CustomSave (HTML) (DMG) (ZIP)
Demonstrates how to customize the NSSavePanel.
User Experience Sample Code 2007-06-11
DatePicker (HTML) (DMG) (ZIP)
Demonstrates how to use the NSDatePicker control.
User Experience 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.
User Experience Technical Q&As 2006-11-13
DeskPictAppDockMenu (HTML) (DMG) (ZIP)
How to add a dynamic Dock menu to your Cocoa application
User Experience 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.
User Experience Guides 2009-02-04
DictionaryController (HTML) (DMG) (ZIP)
"DictionaryController" is a Cocoa application that demonstrates various ways in how to use the NSDictionaryController class.
User Experience Sample Code 2007-12-20
Disabling and Enabling an NSTextView (HTML)
QA1461: Shows how a Cocoa application can disable and enable an NSTextView.
User Experience 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.
User Experience 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.
User Experience Reference 2008-04-08
DiscRecording Release Notes (HTML)
Updated for Mac OS X v10.5
User Experience Release Notes 2007-10-31
Dock Tile Programming Guide (HTML) (PDF)
Explains how to provide an icon and contextual menu in Carbon applications.
User Experience Guides 2009-03-04
DockTile (HTML) (DMG) (ZIP)
Demonstrates how to customize your application's icon in the Dock by using the NSDockTile class.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience Reference 2008-10-15
Drag and Drop Programming Topics for Cocoa (HTML) (PDF)
Explains how to implement drag and drop in Cocoa.
User Experience Guides 2006-06-28
Drawers (HTML) (PDF)
Explains how to use Cocoa drawers.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience Reference 2006-07-13
Finding an NSView's current magnification. (HTML)
QA1346: How to discover the current magnification (zoom level) of any NSView.
User Experience Technical Q&As 2005-03-08
Font Panel (HTML) (PDF)
Explains how to use the Cocoa Font panel.
User Experience Guides 2004-08-31
Forms (HTML) (PDF)
Explains how to use Cocoa forms.
User Experience Guides 2002-11-12
FunkyOverlayWindow (HTML) (DMG) (ZIP)
Demonstrates several window layering, transparency and widget interaction techniques in Cocoa.
User Experience 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.
User Experience Technical Q&As 2001-05-03
Grady (HTML) (DMG) (ZIP)
Demonstrates how to use the NSGradient class.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience 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.
User Experience Sample Code 2008-01-18
Image Kit with Core Data (HTML) (DMG) (ZIP)
Using Image Kit's browser view with Core Data content.
User Experience Sample Code 2008-07-25
Image Views (HTML) (PDF)
Explains how to use Cocoa image views.
User Experience Guides 2002-11-12
ImageBackground (HTML) (DMG) (ZIP)
Shows how to draw an image in the background of an NSOutlineView and NSTableView.
User Experience Sample Code 2006-10-02
iSpend (HTML) (DMG) (ZIP)
Demonstrates how to incorporate a number of Cocoa Tiger features into a simple application.
User Experience Sample Code 2005-06-01
JavaFrameEmbedding example (HTML) (DMG) (ZIP)
Small Cocoa application that demonstrates how to use JavaFrameEmbedding.framework
User Experience Sample Code 2007-06-12
LayerBackedOpenGLView (HTML) (DMG) (ZIP)
"LayerBackedOpenGLView" provides a simple example of hosting Cocoa controls as subviews of an NSOpenGLView.
User Experience Sample Code 2007-06-12
Matrix Programming Guide for Cocoa (HTML) (PDF)
Explains how to use Cocoa matrices.
User Experience Guides 2006-11-07
MenuItemView (HTML) (DMG) (ZIP)
Demonstrates embedding an NSView inside a menu item or NSMenuItem.
User Experience 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.
User Experience Sample Code 2003-01-14
MungSaver (HTML) (DMG) (ZIP)
Demonstrates a simple Screen Saver module for Panther, using the Sequence Grabber DataProc mung technique.
User Experience Sample Code 2003-11-18
MyCustomColorPicker (HTML) (DMG) (ZIP)
Shows how to write a custom color picker using Cocoa.
User Experience Sample Code 2006-10-09
NSActionCell Class Reference (HTML) (PDF)
Describes the interface for the active area in a control.
User Experience Reference 2007-02-28
NSAlert Class Reference (HTML) (PDF)
Describes a window that displays a message and obtains the user's response to it.
User Experience Reference 2007-04-25
NSAnimation Class Reference (HTML) (PDF)
Describes the behavior of an animation.
User Experience Reference 2007-10-31
NSBox Class Reference (HTML) (PDF)
Describes a view that can display its border and a title.
User Experience Reference 2008-10-15
NSBrowser Class Reference (HTML) (PDF)
Describes a control for manipulating one- or two-dimensional data sets.
User Experience Reference 2007-04-05
NSBrowserCell Class Reference (HTML) (PDF)
Describes a cell that displays data in a browser.
User Experience Reference 2007-04-01
NSButton Class Reference (HTML) (PDF)
Describes a control that responds to clicks.
User Experience Reference 2007-04-01
NSButtonCell Class Reference (HTML) (PDF)
Describes a cell that responds to mouse clicks.
User Experience Reference 2009-04-08
NSCell Class Reference (HTML) (PDF)
Describes the interface for cell objects.
User Experience Reference 2009-02-04
NSCollectionView Class Reference (HTML) (PDF)
Describes a collection of views that displays content in a grid.
User Experience Reference 2007-12-11
NSCollectionViewItem Class Reference (HTML) (PDF)
Describes a controller that mediates between a prototype view and a model object.
User Experience Reference 2006-12-28
NSColorPicker Class Reference (HTML) (PDF)
Describes the interface for custom views in a color panel used for color selection.
User Experience Reference 2007-02-28
NSColorPickingCustom Protocol Reference (HTML) (PDF)
Describes the interface for receiving custom color-picker user-interface requests.
User Experience Reference 2007-04-01
NSColorPickingDefault Protocol Reference (HTML) (PDF)
Describes the interface for receiving basic color-picker user-interface requests.
User Experience Reference 2007-04-27
NSColorWell Class Reference (HTML) (PDF)
Describes a control for displaying and selecting colors.
User Experience Reference 2007-02-28
NSComboBox Class Reference (HTML) (PDF)
Describes a control for entering text or selecting from a pop-up list of items.
User Experience Reference 2006-05-23
NSComboBoxCell Class Reference (HTML) (PDF)
Describes the text field that provides the user interface for NSComboBox objects.
User Experience Reference 2006-05-23
NSComboBoxCellDataSource Protocol Reference (HTML) (PDF)
Describes the interface for receiving data requests from an NSComboBoxCell object.
User Experience Reference 2006-05-23
NSComboBoxDataSource Protocol Reference (HTML) (PDF)
Describes the interface for receiving data requests from an NSComboBox object.
User Experience Reference 2006-05-23
NSControl Class Reference (HTML) (PDF)
Describes the interface for views that respond to user actions by sending action messages.
User Experience Reference 2008-10-15
NSCursor Class Reference (HTML) (PDF)
Describes the appearance of the user interface cursor.
User Experience Reference 2009-01-06
NSDate - Natural language date parsing in early Leopard releases (HTML)
QA1581: Acknowledges a regression in +dateWithNaturalLanguageString: behavior of NSDate which is fixed as of 10.5.2.
User Experience Technical Q&As 2008-02-27
NSDateFormatter Class Reference (HTML) (PDF)
Describes a date formatter.
User Experience Reference 2008-11-19