Integrating SwiftUI into UIKit Apps
A detailed guide on gradually adopting SwiftUI in UIKit projects.


- Discover all the possible ways to add SwiftUI views to an existing UIKit app
- See how fast you can develop new components in SwiftUI and preview them instantly in Xcode canvas
- Take your existing apps to the next level by adding new iOS 16 features, such as Swift Charts and Lock Screen widgets
- Learn how to keep supporting older iOS versions at the same time
- Migrate larger parts of your apps to SwiftUI while reusing views and controllers built in UIKit
Want to try reading a sample for free? You can download the free sample bundle or read the sample subchapter online.
You can also check out the full table of contents to get an idea of what's inside.
What is included
- Online book access
- High quality EPUB and PDF downloads
- Over 200 pages of content
- 6 full projects with sample code
- Free lifetime updates to the book
What it covers
- Developing user interfaces with SwiftUI: state and data management, styling, layout, accessibility
- Learning the fundamentals of the SwiftUI framework to use it and integrate it efficiently
- Using Xcode previews when designing and building UI
- Integrating SwiftUI inside UIKit views and controllers with UIHostingController
- Presenting controllers containing SwiftUI hierarchy programmatically and in storyboards
- Setting up data flow between UIKit and embedded Swift components
- Sizing and positioning SwiftUI views inside a UIKit controller
- Taking full advantage of the new iOS 16 features
- Supporting multiple iOS version at the same time
- Building custom collection view cell configurations in SwiftUI
- Adding charts built with the new Swift Charts framework to existing UIKit apps
- Making widgets with WidgetKit and SwiftUI including iOS 16 Lock Screen widgets
- Migrating from UIKit to the SwiftUI app lifecycle
- Bringing existing views and controllers built in UIKit into SwiftUI during migration
- Wrapping UIKit views and controllers with UIViewRepresentable and UIViewControllerRepresentable to be used in SwiftUI
- Previewing UIViewControllers and UIViews in Xcode previews
- Setting up bidirectional data flow between wrapped UIKit components and the SwiftUI app
Who the book is for
This book is for UIKit developers who would like to use SwiftUI in their existing UIKit projects. You should have some experience using Xcode to build iOS applications with the Swift language and the UIKit framework. SwiftUI experience is welcome but not strictly required. The first chapter of the book that covers SwiftUI essentials should get you up to speed. You can also improve your SwiftUI knowledge as you progress through the book by following along with the code and studying additional materials from the further reading sections.
The book comes with sample code for each chapter. We provide starter projects with initial setup and assets, as well as final projects with completed examples.
To follow along you would need the latest version of Xcode 14.
Full table of contents
Have questions about the book? Send us a message.