14.Audio -- System Sounds -- Audio Session -- Activation -- Ducking -- Interruptions -- Secondary Audio -- Routing Changes -- Audio Player -- Remote Control of Your Sound -- Playing Sound in the Background -- AVAudioEngine -- MIDI Playback -- Speech Synthesis -- Further Topics in Sound -- 15.Video -- AVPlayerViewController -- Other AVPlayerViewController Properties -- Picture-in-Picture -- Introducing AV Foundation -- Some AV Foundation Classes -- Things Take Time -- Time is Measured Oddly -- Constructing Media -- Synchronizing Animation With Video -- AVPlayerLayer -- Further Exploration of AV Foundation -- UIVideoEditorController -- 16.Music Library -- Exploring the Music Library -- Querying the Music Library -- Persistence and Change in the Music Library -- Music Player -- MPVolumeView -- Playing Songs With AV Foundation -- Media Picker -- 17.Photo Library and Image Capture -- Photo Library Authorization -- Choosing From the Photo Library -- Photos Framework -- Querying the Photo Library -- Modifying the Library -- Being Notified of Changes -- Displaying Images -- Editing Images -- Photo Editing Extension -- Using the Camera -- Camera Authorization -- Using the Camera with UIImagePickerController -- Customizing the Image Capture Interface -- Image Capture With AV Foundation -- 18.Contacts -- Contacts Authorization -- Fetching Contact Information -- Saving Contact Information -- Contact Sorting, Groups, and Containers -- Contacts Interface -- CNContactPickerViewController -- CNContactViewController -- 19.Calendar -- Calendar Database -- Calendar Database Authorization -- Calendar Database Contents -- Calendar Database Changes -- Creating Calendars and Events -- Recurrence -- Fetching Events -- Reminders -- Proximity Alarms -- Calendar Interface -- EKEventViewController -- EKEventEditViewController -- EKCalendarChooser -- 20.Mail and Messages -- Mail Message -- Text Message -- Twitter Post -- 21.Maps -- Displaying a Map -- Annotations -- Custom Annotation View --
Text of Note
Machine generated contents note: 1.Views -- The Window -- Experimenting With Views -- Subview and Superview -- Visibility and Opacity -- Frame -- Bounds and Center -- Window Coordinates and Screen Coordinates -- Transform -- Trait Collections and Size Classes -- Layout -- Autoresizing -- Autolayout -- Configuring Layout in the Nib -- View Debugging, Previewing, and Designing -- View Events Related to Layout -- 2.Drawing -- Images and Image Views -- Image Files -- Image Views -- Resizable Images -- Image Rendering Mode -- Reversible Images -- Graphics Contexts -- UIImage Drawing -- CGImage Drawing -- Snapshots -- CIFilter and CIImage -- Blur and Vibrancy Views -- Drawing a UIView -- Graphics Context Settings -- Paths and Shapes -- Clipping -- Gradients -- Colors and Patterns -- Graphics Context Transforms -- Shadows -- Erasing -- Points and Pixels -- Content Mode -- 3.Layers -- View and Layer -- Layers and Sublayers -- Manipulating the Layer Hierarchy -- Positioning a Sublayer -- CAScrollLayer -- Layout of Sublayers -- Drawing in a Layer -- Content Resizing and Positioning -- Layers that Draw Themselves -- Transforms -- Depth -- Shadows, Borders, and Masks -- Layer Efficiency -- Layers and Key-Value Coding -- 4.Animation -- Drawing, Animation, and Threading -- Image View and Image Animation -- View Animation -- View Animation Options -- Canceling a View Animation -- Custom Animatable View Properties -- Springing View Animation -- Keyframe View Animation -- Transitions -- Implicit Layer Animation -- Animation Transactions -- Media Timing Functions -- Core Animation -- CABasicAnimation and Its Inheritance -- Using a CABasicAnimation -- Springing Animation -- Keyframe Animation -- Making a Property Animatable -- Grouped Animations -- Freezing an Animation -- Transitions -- Animations List -- Actions -- What an Action Is -- Action Search -- Hooking Into the Action Search -- Making a Custom Property Implicitly Animatable -- Nonproperty Actions -- Emitter Layers -- CIFilter Transitions -- UIKit Dynamics -- The Dynamics Stack -- Custom Behaviors -- Animator and Behaviors -- Motion Effects -- Animation and Autolayout -- 5.Touches -- Touch Events and Views -- Receiving Touches -- Restricting Touches -- Interpreting Touches -- Gesture Recognizers -- Gesture Recognizer Classes -- Gesture Recognizer Conflicts -- Subclassing Gesture Recognizers -- Gesture Recognizer Delegate -- Gesture Recognizers in the Nib -- Touch Delivery -- Hit-Testing -- Initial Touch Event Delivery -- Gesture Recognizer and View -- Touch Exclusion Logic -- Gesture Recognition Logic -- Touches and the Responder Chain -- 6.View Controllers -- View Controller Responsibilities -- View Controller Hierarchy -- View Controller Creation -- How a View Controller Gets Its View -- Manual View -- Generic Automatic View -- View in a Separate Nib -- Nib-Instantiated View Controller -- Storyboard-Instantiated View Controller -- View Resizing -- View Size in the Nib Editor -- Bars and Underlapping -- Resizing Events -- Rotation -- Presented View Controller -- Presenting a View -- Communication With a Presented View Controller -- Presented View Animation -- Presentation Styles -- Adaptive Presentation -- Rotation of a Presented View -- Tab Bar Controller -- Tab Bar Items -- Configuring a Tab Bar Controller -- Navigation Controller -- Bar Button Items -- Navigation Items and Toolbar Items -- Configuring a Navigation Controller -- Custom Transition -- Noninteractive Custom Transition Animation -- Interactive Custom Transition Animation -- Custom Presented View Controller Transition -- Transition Coordinator -- Page View Controller -- Preparing a Page View Controller -- Page View Controller Navigation -- Other Page View Controller Configurations -- Container View Controllers -- Adding and Removing Children -- Container View Controllers, Traits, and Resizing -- Storyboards -- Triggered Segues -- Container Views and Embed Segues -- Storyboard References -- Unwind Segues -- View Controller Lifetime Events -- Incoherencies in View Controller Events -- Appear and Disappear Events -- Event Forwarding to a Child View Controller -- View Controller Memory Management -- State Restoration -- How to Test State Restoration -- Participating in State Restoration -- Restoration ID, Identifier Path, and Restoration Class -- Restoring View Controller State -- Restoration Order of Operations -- Restoration of Other Objects -- Snapshot Suppression -- 7.Scroll Views -- Creating a Scroll View in Code -- Manual Content Size -- Automatic Content Size With Autolayout -- Using a Content View -- Scroll View in a Nib -- Scrolling -- Paging -- Tiling -- Zooming -- Zooming Programmatically -- Zooming with Detail -- Scroll View Delegate -- Scroll View Touches -- Floating Scroll View Subviews -- Scroll View Performance -- 8.Table Views and Collection Views -- Table View Cells -- Built-In Cell Styles -- Registering a Cell Class -- Custom Cells -- Table View Data -- The Three Big Questions -- Reusing Cells -- Table View Sections -- Refreshing Table View Data -- Variable Row Heights -- Table View Cell Selection -- Managing Cell Selection -- Responding to Cell Selection -- Navigation From a Table View -- Cell Choice and Static Tables -- Table View Scrolling and Layout -- Table View State Restoration -- Table View Searching -- Configuring a Search Controller -- Using a Search Controller -- Table View Editing -- Deleting Cells -- Custom Action Buttons -- Editable Content in Cells -- Inserting Cells -- Rearranging Cells -- Dynamic Cells -- Table View Menus -- Collection Views -- Collection View Classes -- Using a Collection View -- Custom Collection View Layouts -- Switching Layouts -- Collection Views and UIKit Dynamics -- 9.iPad Interface -- Popovers -- Preparing a Popover -- Popover Presentation, Dismissal, and Delegate -- Adaptive Popovers -- Popover Segues -- Popover Presenting a View Controller -- Split Views -- Expanded Split View Controller (iPad) -- Collapsed Split View Controller (iPhone) -- Expanding Split View Controller (iPhone 6 Plus) -- Customizing a Split View Controller -- Setting the Collapsed State -- Replacing the Child View Controllers -- Split View Controller in a Storyboard -- iPad Multitasking -- 10.Text -- Fonts and Font Descriptors -- Fonts -- Font Descriptors -- Attributed Strings -- Attributed String Attributes -- Making an Attributed String -- Modifying and Querying an Attributed String -- Custom Attributes -- Drawing and Measuring an Attributed String -- Labels -- Number of Lines -- Wrapping and Truncation -- Resizing a Label to Fit Its Text -- Customized Label Drawing -- Text Fields -- Summoning and Dismissing the Keyboard -- Keyboard Covers Text Field -- Configuring the Keyboard -- Text Field Delegate and Control Event Messages -- Text Field Menu -- Text Views -- Text View as Scroll View -- Text View and Keyboard -- Text Kit -- Text Container -- Alternative Text Kit Stack Architectures -- Layout Manager -- Text Kit Without a Text View -- 11.Web Views -- WKWebView -- WKWebView Content -- Tracking Changes in a WKWebView -- WKWebView Navigation -- Communicating With a WKWebView Web Page -- WKWebView Shortcomings -- Safari View Controller -- Developing Web View Content -- 12.Controls and Other Views -- UIActivityIndicatorView -- UIProgressView -- UIPickerView -- UISearchBar -- UIControl -- UISwitch -- UIStepper -- UIPageControl -- UIDatePicker -- UISlider -- UISegmentedControl -- UIButton -- Custom Controls -- Bars -- Bar Position and Bar Metrics -- Bar Appearance -- UIBarButtonItem -- UINavigationBar -- UIToolbar -- UITabBar -- Tint Color -- Appearance Proxy -- 13.Modal Dialogs -- Alerts and Action Sheets -- Alerts -- Action Sheets -- Dialog Alternatives -- Local Notifications -- Registering a Notification -- Scheduling a Notification -- Hearing About a Local Notification -- Today Extensions -- Activity Views -- Presenting an Activity View -- Custom Activities -- Action Extensions -- Share Extensions --