Uh-oh, it looks like your Internet Explorer is out of date.

For a better shopping experience, please upgrade now.

The Core iOS Developer's Cookbook / Edition 5

The Core iOS Developer's Cookbook / Edition 5

by Erica Sadun, Rich Wardwell

See All Formats & Editions

ISBN-10: 0321948106

ISBN-13: 9780321948106

Pub. Date: 03/23/2014

Publisher: Addison-Wesley

Completely updated for iOS 7 and Xcode 5

This book brings together reliable, proven solutions for the heart of day-to-day iOS 7 development. Renowned iOS programming expert Erica Sadun and top iOS developer Rich Wardwell cover all you need to create successful iOS 7 mobile apps with standard APIs and interface elements and take full advantage of iOS 7


Completely updated for iOS 7 and Xcode 5

This book brings together reliable, proven solutions for the heart of day-to-day iOS 7 development. Renowned iOS programming expert Erica Sadun and top iOS developer Rich Wardwell cover all you need to create successful iOS 7 mobile apps with standard APIs and interface elements and take full advantage of iOS 7 graphics, touches, and views.

As in all of Sadun’s iOS bestsellers, The Core iOS Developer’s Cookbook translates modern best practices into working code, distilling key concepts into concise recipes you can easily understand and apply in your own projects. This isn’t just cut-and-paste; using examples, Sadun and Wardwell fully explain both the “how” and “why” of effective iOS 7 development.

All code is fully revised and extensively tested to reflect new iOS 7 features and device capabilities.

Coverage includes

  • Creating advanced direct touch-based interfaces with multi-touch, gestures, and custom gesture recognizers
  • Building and customizing controls in powerful new ways
  • Creating interfaces that reflect the new iOS 7 design paradigm
  • Implementing new iOS 7 motion effects
  • Alerting users via pop-ups, progress bars, local notifications, popovers, audio pings, and more
  • Using Xcode modules to easily integrate system frameworks and headers
  • Assembling views and animation, organizing view hierarchies, and understanding how views work together
  • Supporting multiple screen geometries with the breakthrough iOS 7 Auto Layout constraints system
  • Controlling keyboards, making onscreen elements “text aware,” and efficiently scanning and formatting text
  • Organizing user workspaces with view controllers
  • Managing photos, videos, email, and text messages
  • Leveraging the enhanced iOS 7 support for social media activities, including Flickr and Vimeo
  • Implementing VoiceOver accessibility, including new iOS 7 text-to-speech
  • Getting started with Core Data-managed data stores
  • Leveraging the powerful iOS 7 networking and web services support
  • Using the new iOS 7 APIs and added flexibility to enhance everything from reliability to text appearance
  • Working around new iOS 7 problems and bugs

Product Details

Publication date:
Developer's Library Series
Sales rank:
Product dimensions:
7.00(w) x 8.90(h) x 1.60(d)

Related Subjects

Table of Contents

Preface xiii
Chapter 1: Gestures and Touches 1

Touches 1
Recipe: Adding a Simple Direct Manipulation Interface 5
Recipe: Adding Pan Gesture Recognizers 7
Recipe: Using Multiple Gesture Recognizers Simultaneously 9
Recipe: Constraining Movement 14
Recipe: Testing Touches 15
Recipe: Testing Against a Bitmap 17
Recipe: Drawing Touches Onscreen 20
Recipe: Smoothing Drawings 22
Recipe: Using Multi-Touch Interaction 26
Recipe: Detecting Circles 29
Recipe: Creating a Custom Gesture Recognizer 34
Recipe: Dragging from a Scroll View 37
Recipe: Live Touch Feedback 40
Recipe: Adding Menus to Views 45
Summary 47
Chapter 2: Building and Using Controls 49
The UIControl Class 49
Buttons 53
Buttons in Interface Builder 55
Recipe: Building Buttons 56
Recipe: Animating Button Responses 60
Recipe: Adding a Slider with a Custom Thumb 62
Recipe: Creating a Twice-Tappable Segmented Control 67
Working with Switches and Steppers 70
Recipe: Subclassing UIControl 72
Recipe: Building a Star Slider 76
Recipe: Building a Touch Wheel 79
Recipe: Creating a Pull Control 83
Recipe: Building a Custom Lock Control 88
Recipe: Image Gallery Viewer 93
Building Toolbars 96
Summary 98
Chapter 3: Alerting the User 101
Talking Directly to Your User through Alerts 101
Recipe: Using Blocks with Alerts 105
Recipe: Using Variadic Arguments with Alert Views 110
Presenting Lists of Options 112
“Please Wait”: Showing Progress to Your User 115
Recipe: Modal Progress Overlays 117
Recipe: Custom Modal Alert View 119
Recipe: Basic Popovers 124
Recipe: Local Notifications 126
Alert Indicators 128
Recipe: Simple Audio Alerts 129
Summary 133
Chapter 4: Assembling Views and Animations 135
View Hierarchies 135
Recipe: Recovering a View Hierarchy Tree 137
Recipe: Querying Subviews 139
Managing Subviews 141
Tagging and Retrieving Views 142
Recipe: Naming Views by Object Association 143
View Geometry 146
Recipe: Working with View Frames 150
Recipe: Retrieving Transform Information 158
Display and Interaction Traits 164
UIView Animations 165
Recipe: Fading a View In and Out 167
Recipe: Swapping Views 168
Recipe: Flipping Views 169
Recipe: Using Core Animation Transitions 170
Recipe: Bouncing Views as They Appear 172
Recipe: Key Frame Animations 174
Recipe: Image View Animations 176
Summary 177
Chapter 5: View Constraints 179
What Are Constraints? 179
Constraint Attributes 180
The Laws of Constraints 182
Constraints and Frames 184
Creating Constraints 186
Format Strings 189
Predicates 194
Format String Summary 196
Aligning Views and Flexible Sizing 198
Constraint Processing 198
Managing Constraints 199
Recipe: Comparing Constraints 201
Recipe: Creating Fixed-Size Constrained Views 204
Recipe: Centering Views 209
Recipe: Setting Aspect Ratio 210
Recipe: Responding to Orientation Changes 212
Debugging Your Constraints 214
Recipe: Describing Constraints 215
Constraint Macros 218
Summary 221
Chapter 6: Text Entry 223
Recipe: Dismissing a UITextField Keyboard 224
Recipe: Dismissing Text Views with Custom Accessory Views 228
Recipe: Adjusting Views Around Keyboards 230
Recipe: Creating a Custom Input View 235
Recipe: Making Text-Input-Aware Views 240
Recipe: Adding Custom Input Views to Nontext Views 243
Recipe: Building a Better Text Editor (Part I) 246
Recipe: Building a Better Text Editor (Part II) 248
Recipe: Text-Entry Filtering 252
Recipe: Detecting Text Patterns 255
Recipe: Detecting Misspelling in a UITextView 260
Searching for Text Strings 262
Summary 262
Chapter 7: Working with View Controllers 263
View Controllers 263
Developing with Navigation Controllers and Split Views 266
Recipe: The Navigation Item Class 271
Recipe: Modal Presentation 273
Recipe: Building Split View Controllers 278
Recipe: Creating Universal Split View/Navigation Apps 283
Recipe: Tab Bars 286
Remembering Tab State 290
Recipe: Page View Controllers 293
Recipe: Custom Containers 303
Recipe: Segues 309
Summary 315
Chapter 8: Common Controllers 317
Image Picker Controller 317
Recipe: Selecting Images 319
Recipe: Snapping Photos 326
Recipe: Recording Video 331
Recipe: Playing Video with Media Player 333
Recipe: Editing Video 336
Recipe: Picking and Editing Video 339
Recipe: E-mailing Pictures 341
Recipe: Sending a Text Message 344
Recipe: Posting Social Updates 347
Summary 349
Chapter 9: Creating and Managing Table Views 351
iOS Tables 351
Delegation 352
Creating Tables 353
Recipe: Implementing a Basic Table 356
Table View Cells 360
Recipe: Creating Checked Table Cells 362
Working with Disclosure Accessories 364
Recipe: Table Edits 366
Recipe: Working with Sections 374
Recipe: Searching Through a Table 381
Recipe: Adding Pull-to-Refresh to Your Table 387
Recipe: Adding Action Rows 390
Coding a Custom Group Table 395
Recipe: Building a Multiwheel Table 396
Using UIDatePicker 400
Summary 401
Chapter 10: Collection Views 403
Collection Views Versus Tables 403
Establishing Collection Views 405
Flow Layouts 407
Recipe: Basic Collection View Flows 412
Recipe: Custom Cells 416
Recipe: Scrolling Horizontal Lists 418
Recipe: Introducing Interactive Layout Effects 422
Recipe: Scroll Snapping 424
Recipe: Creating a Circle Layout 425
Recipe: Adding Gestures to Layout 431
Recipe: Creating a True Grid Layout 433
Recipe: Custom Item Menus 440
Summary 442
Chapter 11: Documents and Data Sharing 445
Recipe: Working with Uniform Type Identifiers 445
Recipe: Accessing the System Pasteboard 451
Recipe: Monitoring the Documents Folder 454
Recipe: Activity View Controller 460
Recipe: The Quick Look Preview Controller 470
Recipe: Using the Document Interaction Controller 473
Recipe: Declaring Document Support 480
Recipe: Creating URL-Based Services 486
Summary 489
Chapter 12: A Taste of Core Data 491
Introducing Core Data 491
Entities and Models 492
Creating Contexts 494
Adding Data 495
Querying the Database 498
Removing Objects 500
Recipe: Using Core Data for a Table Data Source 501
Recipe: Search Tables and Core Data 505
Recipe: Adding Edits to Core Data Table Views 508
Recipe: A Core Data-Powered Collection View 514
Summary 519
Chapter 13: Networking Basics 521
Recipe: Checking Your Network Status 521
Scanning for Connectivity Changes 524
The URL Loading System 526
Recipe: Simple Downloads 528
Recipe: Downloads with Feedback 533
Recipe: Background Transfers 543
Recipe: Using JSON Serialization 546
Recipe: Converting XML into Trees 549
Summary 554
Chapter 14: Device-Specific Development 555
Accessing Basic Device Information 555
Adding Device Capability Restrictions 556
Recipe: Checking Device Proximity and Battery States 559
Recipe: Recovering Additional Device Information 563
Core Motion Basics 565
Recipe: Using Acceleration to Locate “Up” 566
Working with Basic Orientation 568
Recipe: Using Acceleration to Move Onscreen Objects 571
Recipe: Accelerometer-Based Scroll View 575
Recipe: Retrieving and Using Device Attitude 578
Detecting Shakes Using Motion Events 579
Recipe: Using External Screens 581
Tracking Users 587
One More Thing: Checking for Available Disk Space 588
Summary 589
Chapter 15: Accessibility 591
Accessibility 101 591
Enabling Accessibility 593
Traits 594
Labels 595
Hints 596
Testing with the Simulator 597
Broadcasting Updates 599
Testing Accessibility on iOS 599
Speech Synthesis 601
Dynamic Type 602
Summary 604
Appendix A: Objective-C Literals 605
Numbers 605
Boxing 606
Container Literals 607
Subscripting 608
Feature Tests 609
Index 611

Customer Reviews

Average Review:

Post to your social network


Most Helpful Customer Reviews

See all customer reviews