如果您以前使用过UIKit,则只需删除UI前缀就可以将许多您熟悉和喜爱的类直接映射到它们的SwiftUI等效项。这并不意味着它们在底下是同一回事,只是它们具有相同或相似的功能。
这是一个入门的列表,其中包含UIKit类名称和SwiftUI名称:
| UIKit | Swift |
|---|---|
| UILabel | Text |
| UITextField | TextField |
| UITextField与isSecureTextEntry设置为true | SecureField |
| UITextView | 没有等效的SwiftUI,使用Text、TextField |
| UIButton | Button |
| UIImageView | Image |
| UISegmentedControl | SegmentedControl |
| UISwitch | Toggle |
| UISlider | Slider |
| UIStepper | Stepper |
| UIStackView 水平轴 | HStack |
| UIStackView 垂直轴 | VStack |
| UIScrollView | ScrollView |
| UITableView | List |
| UICollectionView | 没有等效的SwiftUI,可以用List实现 |
| UINavigationController | NavigationView |
| UITabBarController | TabView |
| UIAlertController的alert样式 | Alert |
| UIAlertController的actionSheet样式 | ActionSheet |
| UIPickerView | Picker |
| UIDatePicker | DatePicker |
| NSAttributedString | 与SwiftUI不兼容; 使用Text代替。 |
SwiftUI还具有许多其他独有的组件,例如使我们能够按深度而不是水平或垂直构建事物的堆栈视图(ZStack)。