What is the layout life cycle in UIKit?
Asked on 2026-06-15
1 search
UIKit’s layout life cycle is a repeating pair of passes that happen after traits are updated:
-
Layout pass
- UIKit updates each view’s traits top-down.
- Then it calls
layoutSubviews. - If any view invalidates layout during that pass, UIKit repeats the layout pass until everything is settled.
-
Display pass
- Once layout is stable, UIKit performs the display pass.
- It calls
draw(_:)on each view that needs display. - If drawing causes more views to need display, UIKit repeats until all views are done.
After both passes finish, the next frame can be rendered and shown on screen.
From What’s new in UIKit, UIKit also notes that in iOS 26, the new updateProperties callback happens after traits are updated and before layoutSubviews, effectively splitting layout-related work into:
- property updates first
- then the usual layout logic
If you want, I can also summarize how this differs from older UIKit behavior.

What’s new in UIKit
Modernize your app with the latest APIs in UIKit, including enhanced menu bar support, automatic observation tracking, a new UI update method, and improvements to animations. We’ll also cover how you can include SwiftUI scenes in your UIKit app and explore SF Symbols, HDR color pickers, and more.

Make your UIKit app more flexible
Find out how your UIKit app can become more flexible on iPhone, iPad, Mac, and Apple Vision Pro by using scenes and container view controllers. Learn to unlock your app’s full potential by transitioning from an app-centric to a scene-based lifecycle, including enhanced window resizing and improved multitasking. Explore enhancements to UISplitViewController, such as interactive column resizing and first-class support for inspector columns. And make your views and controls more adaptive by adopting new layout APIs.

Modernize your UIKit app
Discover the latest updates to UIKit. Learn how to update your iPhone app layouts to work great when resized with iPhone Mirroring and on iPad. Explore new APIs for tab and navigation bars, find out how to prepare your app for new Apple Intelligence capabilities, and get introduced to a skill for your coding agent of choice that helps modernize your codebase.
