| Title Page | 196 |
---|
| 1 | 196 |
---|
| Copyright Page | 196 |
---|
| 2 | 196 |
---|
| Contents at a Glance | 4 |
---|
| Table of Contents | 5 |
---|
| About the Authors | 9 |
---|
| About the Technical Reviewer | 10 |
---|
| Acknowledgments | 11 |
---|
| Preface | 12 |
---|
| Chapter 1 Welcome to the Paradigm Shift | 13 |
---|
| Reinventing the Tablet | 13 |
| It s All About the Software | 14 |
| The iPad Is Not a Big iPod touch | 15 |
| Personal Computing for the Masses | 17 |
| Developing Apps for the iPad | 19 |
| When Your iPhone App Is No Longer Good Enough | 19 |
| Exploring the Possibilities | 20 |
| Brushes | 20 |
| 1Password Pro | 23 |
| Synotes | 24 |
| ScribattlePad | 26 |
| Zen Bound 2 | 28 |
| Opportunity Awaits | 28 |
| Chapter 2 Getting Started with iPad Development | 30 |
---|
| Acquiring the Tools of the Trade | 30 |
| Enrolling in the iPhone Developer Program | 30 |
| Installing iPhone SDK 3.2 | 31 |
| Working with Beta Versions of the SDK | 32 |
| New to Objective-C and Cocoa Touch? | 34 |
| Embracing the Model-View-Controller Concept | 35 |
| Reusability in Xcode | 36 |
| Designing in Interface Builder | 39 |
| Wiring Actions | 41 |
| Wiring Outlets | 42 |
| The Importance of Delegates | 44 |
| Improving App Usability with UIKit | 46 |
| Primed for Programming | 48 |
| Chapter 3 Exploring the iPhone SDK s New iPad Features | 49 |
---|
| Optimizing Apps for the iPad | 49 |
| Examining the Tablet | 49 |
| Managing Memory | 50 |
| Testing Your Apps on an iPad | 51 |
| What s New in iPhone SDK 3.2 for the iPad | 52 |
| Shape Drawing | 52 |
| PDF Files | 54 |
| Core Text | 55 |
| Popovers | 56 |
| Video Playback and Display Options | 59 |
| Split View Controller | 61 |
| Modal Presentation Styles | 64 |
| Advanced Input Methods | 66 |
| Edit Menu Actions | 66 |
| Keyboard Layouts | 67 |
| Gesture Recognizers | 68 |
| Document Support | 69 |
| Universal Applications | 71 |
| Universal App Requirements | 71 |
| To Be or Not to Be Universal | 73 |
| Required Project Images for iPad Apps | 74 |
| App Icon Images | 74 |
| Document Type Icon Images | 75 |
| Default Launch Images | 75 |
| Drilling Deeper | 76 |
| Chapter 4 New Graphics Functionality | 77 |
---|
| Bezier Paths | 77 |
| Introducing Dudel | 78 |
| Creating the Dudel Project | 79 |
| Adding a Simple GUI | 83 |
| The Basic Drawing Architecture | 84 |
| We Are All Tool Users | 86 |
| The Pencil Tool | 89 |
| The Line Tool | 95 |
| The Ellipse and Rectangle Tools | 98 |
| The Freehand Tool | 103 |
| PDF Generation | 106 |
| Things to See and Do | 108 |
| Chapter 5 Using Core Text | 109 |
---|
| Why Core Text? | 109 |
| The Structure of Core Text | 110 |
| Preparing Dudel for a New Tool | 113 |
| Preparing the Controller Interface | 113 |
| Setting Up the GUI | 114 |
| Implementing Changes to the Controller Class | 115 |
| Creating the Text Tool | 116 |
| Declaring the Text Tool Interface | 117 |
| Implementing TextTool | 117 |
| Creating a New Drawable Class | 122 |
| Rendering Multiple Styles | 124 |
| The Lessons of Core Text | 127 |
| Chapter 6 Popovers | 128 |
---|
| Popover Preparations | 128 |
| The Basic GUI | 129 |
| Popover Considerations | 131 |
| The Font Name Popover | 133 |
| The Simplest Popover You ll Ever Create | 134 |
| The Back End | 137 |
| The Font Size Popover | 140 |
| Creating the GUI | 141 |
| Making It Work | 142 |
| The Stroke Width Popover | 144 |
| Paving the Way | 145 |
| Creating the GUI | 145 |
| Previewing the Stroke Width with a Custom View | 146 |
| Implementing the Controller | 148 |
| Making it Work | 148 |
| The Dual-Action Color Popover | 150 |
| Creating a Simple Color Grid | 151 |
| Hooking Up the Grid | 153 |
| Serving Two Masters | 155 |
| Your Popover-Fu Is Strong | 159 |
| Chapter 7 Video and Display Output | 160 |
---|
| Displaying Multiple Videos | 160 |
| Creating the Video App Project | 161 |
| Specifying Your Video Files | 161 |
| Using the videoCell Outlet to Load the GUI | 162 |
| Creating the VideoCell User Interface | 164 |
| Running the Video App | 165 |
| Outputting to an External Screen | 166 |
| Extending the Video App to Handle an External Screen | 167 |
| Implementing the VideoCell Delegate Method | 170 |
| Testing the External Screen Functionality | 171 |
| Display Solutions | 171 |
| Chapter 8 Split Views and Modal Modes | 172 |
---|
| The Split View Concept | 172 |
| The Basics of Saving and Loading | 174 |
| Document Management | 177 |
| Listing Files | 178 |
| Adding a File List Controller | 180 |
| Changing the App Delegate | 182 |
| Creating and Deleting Files | 187 |
| Renaming Files | 190 |
| Implementing an About Panel in a Modal Way | 194 |
| Creating the Modal Web View Controller | 195 |