Who Should Read This Document?
Organization of This Document
Platform and Language Support
Getting Interface Builder
Reporting Bugs
See Also
Interface Builder 3.0 is a visual design tool you use to create the user interfaces of your Mac OS X applications. Using the graphical environment of Interface Builder, you assemble windows, views, controls, menus, and other elements from a library of configurable objects. You arrange these items, set their attributes, establish connections between them, and then save them in a special type of resource file, called a nib file. (The term “nib” is primarily historical and is an acronym for “NextSTEP Interface Builder.“) A nib file stores your objects, including their configuration and layout information, in a format that at runtime can be used to recreate the actual objects.
This document discusses the features of the Interface Builder application and also describes the nib file design process. User interface designers should read this document to learn how to use the Interface Builder application to create the desired look of their application. Programmers should also read this document to understand what program-level information needs to be created in Xcode.
This document contains the following chapters:
“Application Interface Basics” provides an overview of the Interface Builder application and introduces the concept of nib files.
“Building a Nib File” contains tasks showing how to build windows, menus, and other entities and add them to a nib file.
“Editing Nib File Objects” describes techniques for manipulating objects, tracking their layout, and configuring them using the inspector window.
“Connections and Bindings” describes the role of connections in Cocoa nib files and how to work with outlets, actions, and bindings.
“Animation Effects and Filters” describes the advanced graphical features you can apply to objects in a nib file.
“Carbon Objects” describes Carbon-specific manipulations you can make to objects in a nib file.
“Localizing Nib Files” describes the tools and processes for localizing the contents of a nib file to different languages.
“Customizing Interface Builder” describes the ways in which you can change the Interface Builder workflow.
“Advanced Techniques” covers some of the advanced manipulations you can make to nib files, including refactoring your nib contents and simulating your user interface.
The Glossary at the end contains a list of Interface Builder terms and their definitions.
Although typically thought of as a tool for designing Cocoa application interfaces, Interface Builder can be used to create nib files for both Carbon and Cocoa platforms. Carbon and Cocoa developers can both take advantage of Interface Builder’s visual environment for assembling, laying out, and configuring windows and menus. Cocoa developers can additionally use Interface Builder to create connections between objects in the nib file and in the running application. Connections reduce the amount of code that needs to be created at runtime and provide you with a visual tool for controlling the flow of information through your user interface. Carbon developers create relationships between nib file objects programmatically at runtime.
Interface Builder’s support for Cocoa extends beyond the Objective-C language. You can also use the Cocoa scripting bridge support to create interfaces for applications written using the Ruby or Python scripting languages. For more information about Interface Builder’s support for these languages, see “Scripting Language Support.”
Most of the chapters in this book are intended to be used by both Carbon and Cocoa developers. Chapters and sections that are specific to Carbon or Cocoa developers are called out as such.
Apple provides a comprehensive suite of developer tools (including Interface Builder) for creating Mac OS X software. The Xcode tools include applications to help you design, create, debug, and optimize your software. This suite also includes header files, sample code, and documentation for Apple technologies. You can download Xcode from the members area of the Apple Developer Connection (ADC) website (http://connect.apple.com/). Registration is required but free.
If you encounter bugs in Apple software or documentation, you are encouraged to report them to Apple. You can also file enhancement requests to indicate features you would like to see in future revisions of a product or document. To file bugs or enhancement requests, go to the Bug Reporting page of the ADC website, which is at the following URL:
http://developer.apple.com/bugreporter/
You must have a valid ADC login name and password to file bugs. You can obtain a login name for free by following the instructions found on the Bug Reporting page.
For information on how to use nib files at runtime, including how to load them from your code, see Resource Programming Guide.
Last updated: 2007-10-31