List
List 为 SwiftUI 中的列表,类似于 UIKit 中的 UITableView,List 中的每一项类似于 UITableViewCell。由于 List 比较复杂,故本文我们通篇只讨论 List 这一种控件。
静态 List
用 List 做静态列表非常容易,使用类似 VStack 的写法即可。 阅读全文
List 为 SwiftUI 中的列表,类似于 UIKit 中的 UITableView,List 中的每一项类似于 UITableViewCell。由于 List 比较复杂,故本文我们通篇只讨论 List 这一种控件。
用 List 做静态列表非常容易,使用类似 VStack 的写法即可。 阅读全文
DatePicker 为日期选择器,对应 UIKit 中的 UIDatePicker。我们需要绑定一个 Date 类型的变量来记录当前选择的日期。
struct ContentView: View { @State private var birthDay: Date = Date() //绑定日期 var body: some View { //第一个参数为绑定的参数,第二个参数为显示的日期内容 DatePicker(selection: $birthDay, displayedComponents: .date) { Text("出生日期") }.environment(\.locale, Locale(identifier: "zh_CN")) //默认为英文选择器,这里指定为中文 } }
背景:在 Ubuntu 上下载了著名的接口测试程序 Postman,为了避免每次启动都要去文件目录中寻找的麻烦,想要把 Postman 制作成像 Mac 一样的快捷方式放在桌面应用程序启动器栏中。
操作环境:Ubuntu 20.04 LTS
TextField 即为输入框,对应 UIKit 中的 UITextField。
struct ContentView: View { var body: some View { //第一个参数为placeholder,text为输入的内容,textFieldStyle为边框样式 TextField("写点什么进来吧", text: .constant("Hello")) .textFieldStyle(RoundedBorderTextFieldStyle()) //圆角边框 .padding() } }
和 UIKit不同,SwiftUI是一个数据驱动的框架,故输入框输入的内容类型不再是 String,而是 Binding<String>,方便对输入内容的绑定操作。上面的例子暂时用了 constant(value: String)直接将一个字符串转成了Binding<String>。