SwiftUI基础学习日记(四)Toggle、Picker

538 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第12天,点击查看活动详情

不怕路远,就怕志短;不怕缓慢,就怕常站;不怕贫穷,就怕惰懒;不怕对手悍,就怕自己颤。

大家好,我是小黑,一个还没秃头的程序员~~~

今天记录的是swiftUI基础控件中的各种选择器,话不多说,正文开始:

(一) Toggle

这是在打开和关闭状态之间切换的控件。

属性/修饰器
isOn切换的标志
toggleStyle样式

您可以通过提供一个布尔值绑定进行切换。将变量绑定到一个布尔属性,该属性确定该切换是打开还是关闭。将标签设置为可视化地描述切换状态之间切换目的的视图。例如

@State private var isOpenToggle:Bool=false

Toggle(isOn: $isOpenToggle, label: {

                        Text("Toggle")

                    }).padding(.top)

你也可以直接使用字符串表示标签而不用使用一个Text控件,例如:

Toggle("Toggle", isOn: $isOpenToggle)

(二) Picker

Picker是用于从一组互斥值中进行选择的控件。

属性/修饰器说明
label标题
SelectionValue选择的值
content选项

你可以通过提供选择绑定、标签和选择器要显示的内容来创建选择器。将选择参数设置为一个绑定属性,该属性提供显示为当前选择的值。将标签设置为一个视图,该视图可视化地描述选择选择器中的内容的目的,然后为选择器提供要显示的内容。

例如,下面代码表示2选一

tag修饰符表示将一个标记附加到每个文本视图,以便每个选择的类型与绑定状态变量的类型匹配。比如下面绑定的值为int类型,所以可以给选项标记上int类型的值

@State private var selectedIndex:Int=0
Picker(selection: $selectedIndex, label: Text("Picker"), content: {

                        Text("1").tag(1)

                        Text("2").tag(2)

                    }).pickerStyle(WheelPickerStyle())

                    .cornerRadius(10).overlay(

                        RoundedRectangle(cornerRadius: 10, style: .continuous)

                            .stroke(Color.color_gray_border, lineWidth: 1)

                    )

为了在不显式列出每个选项的情况下为选择器提供选择值,可以使用ForEach构造来创建选择器,如下所示:

Picker("Picker", selection: $selectedIndex) { ForEach(1...5) { i in Text("\(i)") }}

今天的swiftUI学习就到这里,刚开始接触学的慢,但是希望可以吸收进去,为了以后的实战做准备,后面我会持续输出iOS开发笔记,感谢大家的阅读!