Migrating from UIKit to SwiftUI
About 2 min
Migrating from UIKit to SwiftUI êŽë š
SwiftUI by Example
Back to Home
Migrating from UIKit to SwiftUI | SwiftUI by Example
Migrating from UIKit to SwiftUI
Updated for Xcode 15
If you've used UIKit before, many of the classes you know and love map pretty much directly to their SwiftUI equivalents just by dropping the UI
prefix. That doesn't mean they are the same thing underneath, just that they have the same or similar functionality.
Here's a list to get you started, with UIKit class names followed by SwiftUI names:
UITableView
:List
UICollectionView
:LazyVGrid
andLazyHGrid
UIScrollView
:ScrollView
UILabel
:Text
UITextField
:TextField
UITextField
withisSecureTextEntry
set to true:SecureField
UITextView
:TextEditor
(plain strings only)UISwitch
:Toggle
UISlider
:Slider
UIButton
:Button
UINavigationController
:NavigationStack
orNavigationSplitView
UIAlertController
with style.alert
:.alert()
UIAlertController
with style.actionSheet
:.confirmationDialog()
UIStackView
with horizontal axis:HStack
UIStackView
with vertical axis:VStack
UIImageView
:Image
UISegmentedControl
:Picker
UIStepper
:Stepper
UIDatePicker
:DatePicker
UIProgressView
:ProgressView
with a valueUIActivityIndicatorView
:ProgressView
without a valueMKMapView
:Map
NSAttributedString
:AttributedString
.
There are many other components that are exclusive to SwiftUI, such as a stack view that lets us build things by depth rather than horizontally or vertically.
Similar solutionsâŠ
Answering the big question: should you learn SwiftUI, UIKit, or both? | SwiftUI by Example
Answering the big question: should you learn SwiftUI, UIKit, or both?
Frequently asked questions about SwiftUI | SwiftUI by Example
Frequently asked questions about SwiftUI
SwiftUI tips and tricks | SwiftUI by Example
SwiftUI tips and tricks
How to fix âAmbiguous reference to member 'buildBlock()'â | SwiftUI by Example
How to fix âAmbiguous reference to member 'buildBlock()'â
How to add Metal shaders to SwiftUI views using layer effects | SwiftUI by Example
How to add Metal shaders to SwiftUI views using layer effects