SwiftUI 学习笔记(五):常见的 View 和 Modifier 解析(四)

List

List 为 SwiftUI 中的列表,类似于 UIKit 中的 UITableView,List 中的每一项类似于 UITableViewCell。由于 List 比较复杂,故本文我们通篇只讨论 List 这一种控件。

静态 List

用 List 做静态列表非常容易,使用类似 VStack 的写法即可。 阅读全文

SwiftUI 学习笔记(四):常见的 View 和 Modifier 解析(三)

DatePicker

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")) //默认为英文选择器,这里指定为中文
    }
}

阅读全文

SwiftUI 学习笔记(三):常见的 View 和 Modifier 解析(二)

TextField

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>。

阅读全文