You are previewing iOS Auto Layout Demystified.
O'Reilly logo
iOS Auto Layout Demystified

Book Description

Auto Layout re-imagines the way developers create user interfaces. It provides a flexible and powerful system that describes how views and their content relate to each other and to the windows and superviews they occupy. In contrast to older design approaches, this technology offers incredible control over layout with a wider range of customization than frames, springs, and struts can express.

In this guide, Erica Sadun, bestselling author of The Core iOS 6 Developer's Cookbook and The Advanced iOS 6 Developer's Cookbook, helps readers learn how to use Auto Layout effectively, even masterfully, by providing an abundance of examples alongside plenty of explanations and tips. Instead of struggling with class documentation, you learn in simple steps how the system works and why it’s far more powerful than you first imagined. You read about common design scenarios and discover best practices that make Auto Layout a pleasure rather than a chore to use. Sadun includes examples of non-obvious ways to use Auto Layout to build interactive elements, animations, and other features beyond what you might normally lay out in Interface Builder to help expand the reader’s design possibilities. With this book you will learn

  • The basic concepts that form the foundation of Auto Layout

  • How to create clear and satisfiable rules of your layout, called constraints

  • How to work effectively with the Interface Builder Layout

  • What visual constraints look like, how to work with them, and how they are used in your projects

  • How to debug constraints

  • How to design interfaces when working with Auto Layout

  • Effective solutions to the most common real-world problems and challenges

  • Approximately 238 pages.

    For related content by author Erica Sadun, see The Core iOS 6 Developer’s Cookbook, and The Advanced iOS 6 Developer’s Cookbook.

    Table of Contents

    1. Title Page
    2. Copyright Page
    3. Dedication Page
    4. Contents
    5. Acknowledgments
    6. About the Author
    7. Preface
      1. How This Book Is Organized
      2. About the Sample Code
      3. Contacting the Author
    8. Take Our Survey
    9. Editor’s Note: We Want to Hear from You!
    10. 1. Introducing Auto Layout
      1. Saying “No” to Auto Layout
      2. Saying “Yes” to Auto Layout
      3. Constraints
      4. Constraint Attributes
      5. Missing Views
      6. Ambiguous Layout
      7. Intrinsic Content Size
      8. Compression Resistance and Content Hugging
      9. Auto Layout and Frames
      10. Summary
    11. 2. Constraints
      1. Constraint Types
      2. Priorities
      3. Content Size Constraints
      4. Layout Constraints
      5. The Layout Constraint Class
      6. Creating Layout Constraints
      7. Using NSLayoutConstraint
      8. View Items
      9. Constraints, Hierarchies, and Bounds Systems
      10. Installing Constraints
      11. Removing Constraints
      12. Comparing Constraints
      13. Laws of Layout Constraints
      14. Summary
    12. 3. Interface Builder Layout
      1. Constraints in Interface Builder
      2. Constraint Listings
      3. Selecting Constraints
      4. Inspecting Constraints
      5. View Size Inspector
      6. Adding User Constraints
      7. Building New Constraints
      8. The Missing Views Problem
      9. Balancing Requests
      10. Constraints and Outlets
      11. Hybrid Layout
      12. Constraints/Resizing Pop-Up Menu
      13. Summary
    13. 4. Visual Formats
      1. Introducing Visual Format Constraints
      2. Options
      3. Variable Bindings
      4. Metrics
      5. Format String Structure
      6. Orientation
      7. View Names
      8. Connections
      9. View Sizes
      10. Format String Components
      11. Getting It Wrong
      12. NSLog and Visual Formats
      13. Constraining to a Superview
      14. View Stretching
      15. Constraining Size
      16. Building Rows or Columns
      17. Matching Sizes
      18. Why You Cannot Distribute Views
      19. Summary
    14. 5. Debugging Constraints
      1. Reading Console Logs
      2. Examining Constraint Logs
      3. A Note about Layout Math
      4. Constraint Equation Strings
      5. Adding Names
      6. Describing Views
      7. Example: Unexpected Padding
      8. Example: The Hugged Image
      9. Example: View Centering
      10. Descent Reports
      11. Example: Ambiguity
      12. Example: Expanding on Console Dumps
      13. Visualizing Constraints
      14. Launch Arguments
      15. Internationalization
      16. Profiling Cocoa Layout
      17. Auto Layout Rules of Debugging
      18. Summary
    15. 6. Building with Auto Layout
      1. Basic Principles of Auto Layout
      2. Layout Libraries
      3. Planning Interfaces
      4. Building for Modularity
      5. Updating Constraints
      6. Handling Orientation-Specific Text Layout
      7. Designing for Edge Conditions
      8. Building a View Drawer
      9. Window Boundaries
      10. Summary
    16. 7. Layout Solutions
      1. Table Cells
      2. Preserving Image Aspect
      3. Accordion Sizing
      4. Auto Layout
      5. Centering View Groups
      6. Custom Multipliers and Random Positions
      7. Building Grids
      8. Constraint Animation on Steroids
      9. Summary
    17. Index