Interface Builder Plug-In Programming Guide
PDF
Introduction
Anatomy of a Plug-In
Interface Builder and Plug-ins
Deciding When to Create a Plug-In
The Structure of a Plug-in
Key Plug-in Objects and Files
The Plug-in Object
Library Nib Files
Class Description Files
Inspector Objects
The Interface Builder Kit Framework
Xcode Support for Interface Builder Plug-ins
Plug-ins and Threads
Plug-ins and Garbage Collection
Plug-in Deployment Options
Plug-in Quick Start
Creating and Configuring Your Xcode Project
Set Up Your Custom Button Class
Configuring the Library Nib File
Building and Loading the Plug-in
Preparing Your Custom Objects
Supporting the Basics
Registering Your Object’s Attributes
Additional Design-Time Guidelines
Avoid Cascading Setter Methods
Use Your Own Accessor Methods
Update the Display Inside Setter Methods
Isolate Interface Builder-Specific Methods
Packaging Your Custom Objects
Creating Your Class Description Files
Providing User Documentation for Your Custom Objects
The Plug-in Object
Configuring the Library Nib Files
Configuring a Library Object Template
Configuring a Custom View
Configuring a Custom Non-View Object
Using a Custom Dragged VIew
Creating New Library Nib Files
Registering Your Plug-in’s Object Frameworks
Handling Load and Unload Notifications
Implementing Plug-in Preferences
Changing your Plug-in Bundle’s Principal Class
Inspector Objects
Creating Your Inspector Class
Creating Your Inspector’s User Interface
Synchronizing Your Inspector’s Interface
Synchronizing Your Interface Using Bindings
Synchronizing Your Interface Manually
Tips for Displaying Attributes for Multiple Selected Objects
Disabling Your Inspector During Multiple Selection
Registering Your Inspector Objects
Advanced Techniques
Customizing Your View’s Layout
Specifying Inset Boundaries for a View
Specifying Custom Baselines
Implementing a Design-Time Container View
Exposing Embedded Child Objects
Controlling the Size Attributes of Embedded Child Views
Controlling the Selection of Child Objects
Returning Geometry Information for Non-View Objects
Configuring Objects at Design Time
Revision History