no inheritance problems ɾBody return some View (Opaque result types from Swift5.1) ɾView must return one View to render ɾContainer other views, but just on parent view going back ɾCreate layout by Stacks(HStack, VStack, ZStack, Divider, Spacer)
SwiftUI equivalent ɾUILabel: Text ɾUITextFiled: TextFiled ɾUITextFiled with isSecureTextEntry set to true: SecureField ɾUITextView: No SwiftUI equivalent ɾUISwitch: Toggle ɾUISlider: Slider ɾUIButton: Button ɾUINavigationController: NavigationView ɾUIAlertController with style .alert: Alert ɾUIAlertController with style .actionSheet: ActionSheet ɾUIStackView with .horizontal axis: HStack ɾUIStackView with .vertical axis: VStack ɾUIImageView: Image ɾUISegmentedControl: SegmentedControl ɾUIStepper: Stepper ɾUIDataPicker: DataPicker ɾNSAttributedString: Incompatible with SwiftUI, use Text instead
ɾviewDidDisappear ɾviewDidUnload ɾView Initialization ɾState & Data Flow ɾonAppear ɾonDisappear UIViewController’s Lifecycle SwiftUI View’s Lifecycle (Event?) In SwiftUI no longer need to handle so many lifecycle methods anymore
Integers, and Booleans - Belongs to a single view - use private ɾ@ObjectBinding - Complex properties like custom types - Sharing data in many views - Required for reference types ɾ@EnviromentObject - Properties created elsewhere such as shared data - App crashes if it is missing
to Preview not fast enough (beta9 now) ɾNot able for Complex UIViewController Transition ɾNot able to get Scroll ContentOffset ɾOther bugs Support From 13.0