在 SwiftUI 中,Slider 是实现选择范围值的组件,其主要用法如下:
- 定义绑定值
使用 @State 或 @Binding 绑定 Slider 当前值。
@State var value = 0.5
- 初始化 Slider
Slider(value: $value)
- 限制范围
Slider(value: $value, in: 0...100)
- 步长与精度
step 参数控制拖拽步长,最小值改变粒度。
Slider(value: $value, in: 0...100, step: 5)
- 事件交互
onEditingChanged()
下面给出不同的三种参数的Silder。大家一起来看看
struct SliderSample: View {
@State var isEditing: Bool = false
@State var value: Double = 4.0
var body: some View {
VStack {
Slider(value: $value)
Slider(
value: $value,
in: 0...100,
onEditingChanged: { editing in
isEditing = editing
}
)
Text("(value)")
.foregroundColor(isEditing ? .red : .blue)
Slider(
value: $value,
in: 0...100,
step: 5
) {
Text("Speed")
} minimumValueLabel: {
Text("0")
} maximumValueLabel: {
Text("100")
} onEditingChanged: { editing in
isEditing = editing
}
Text("(value)")
.foregroundColor(isEditing ? .red : .blue)
}
}
}
这里在事件交互方法(onEditingChanged) 里面来改变用于显示Value的Text的字体颜色,当你在拖动过程中,显示value的Text就会变成红色。
以上就是Slider的简单介绍
大家有什么看法呢?欢迎留言讨论。
公众号:RobotPBQ