Skip to content
Prepare to Grow
Intermediate module

UIKit Development

Build explicit, production-ready iOS interfaces with view controllers, Auto Layout, system navigation, modern collection APIs, accessibility, and SwiftUI interoperability.

14 lessonsAbout 1 hr 17 min
Start UIKit development

The UIKit mental model

Objects collaborate through explicit lifecycles and ownership.

UIKit is easiest to reason about when view hierarchy, controller lifecycle, layout relationships, data identity, and event ownership are visible. The sequence builds those ideas before combining them in a complete feature.

01

Lifecycle

Place construction, refresh, layout, and cleanup work deliberately.

02

Hierarchy

Compose semantic views and system container controllers.

03

Constraints

Express adaptive relationships with guides, content, and priorities.

04

Identity

Drive reusable lists from stable models and explicit snapshots.

Module outcomes

Build UIKit features you can explain, test, and extend.

Complete the sequence in order, then use the Learning Library mini project to connect routing, layout, interaction, list identity, forms, interoperability, and accessibility.

  • Construct maintainable programmatic view hierarchies.
  • Build layouts that adapt to content and available space.
  • Use system navigation, presentation, and containment correctly.
  • Create efficient tables and modern compositional collections.
  • Treat lifecycle, identity, forms, and accessibility as production concerns.

Learning sequence

Fourteen in-depth lessons

  1. 01Introduction to UIKit and the View Controller LifecycleLearn UIKit's object-based interface model and place work in the correct view-controller lifecycle method.6 min
  2. 02Building Interfaces ProgrammaticallyConstruct readable UIKit view hierarchies in code with clear ownership, configuration, and reusable components.6 min
  3. 03Auto Layout and Safe AreasCreate adaptive interfaces with anchors, layout guides, intrinsic content size, and constraint priorities.5 min
  4. 04Common UIKit Views and ControlsUse UIKit's standard labels, images, buttons, stacks, and scroll containers with modern configuration APIs.5 min
  5. 05Target–Action, Delegates, and User InteractionConnect user intent to application behavior with actions, delegates, gestures, and safe ownership boundaries.6 min
  6. 06Navigation Controllers and Tab Bar ControllersBuild hierarchical and top-level UIKit navigation with system container controllers and explicit routing decisions.5 min
  7. 07Table ViewsPresent efficient vertical lists with reusable cells, self-sizing content, selection, and clean data ownership.5 min
  8. 08Collection Views and Compositional LayoutBuild flexible lists, grids, and mixed layouts from compositional items, groups, sections, and supplementary views.5 min
  9. 09Forms, Keyboards, and Input ValidationCreate accessible forms with appropriate input semantics, keyboard-safe layout, focus flow, and helpful validation.6 min
  10. 10Presentations, Alerts, and Child View ControllersPresent temporary tasks, request focused decisions, and compose controllers with correct containment lifecycles.5 min
  11. 11Diffable Data Sources and Modern Cell ConfigurationDrive lists from stable identity using snapshots, cell registrations, and repeatable content configurations.6 min
  12. 12Integrating UIKit with SwiftUIAdopt frameworks incrementally with hosting controllers, representables, coordinators, and one-way state synchronization.5 min
  13. 13Accessibility, Trait Changes, and Adaptive InterfacesBuild UIKit experiences that remain understandable and usable across assistive technologies, content sizes, and environments.6 min
  14. 14UIKit Mini Project: Learning LibraryIntegrate navigation, adaptive collections, forms, diffable state, interoperability, and accessibility in one UIKit feature.6 min