Slider in SwiftUI

566 阅读1分钟

在 SwiftUI 中,Slider 是实现选择范围值的组件,其主要用法如下:

  1. 定义绑定值

使用 @State 或 @Binding 绑定 Slider 当前值。

@State var value = 0.5
  1. 初始化 Slider
Slider(value: $value)
  1. 限制范围
Slider(value: $value, in: 0...100)
  1. 步长与精度
    step 参数控制拖拽步长,最小值改变粒度。
Slider(value: $value, in: 0...100, step: 5) 
  1. 事件交互
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)
        }
    }
}

image.png

这里在事件交互方法(onEditingChanged) 里面来改变用于显示Value的Text的字体颜色,当你在拖动过程中,显示value的Text就会变成红色。

以上就是Slider的简单介绍

大家有什么看法呢?欢迎留言讨论。
公众号:RobotPBQ