【问题标题】:Custom Set of Steps in Slider滑块中的自定义步骤集
【发布时间】:2021-08-25 01:24:07
【问题描述】:

我有一个@StateObject 滑块。它设置为滑动 1...5 步骤 1。 我需要自定义步骤 [1,2,5,10,20] 而不是步骤 1。

我有一个设置,我将滑块用作我的自定义步骤数组的数组索引。这是工作。但它很生涩。单张幻灯片记录了数十次滑动值,使我的数组被拾取了数十次,这会影响整个过程。我怎样才能使自定义步骤顺利。

我可以在应用程序内进行调整,但如果 Slider 提供了准确的数字,应用程序的逻辑就会变得更加清晰。少翻译,理清逻辑。

Slider(value: $tSlider, in: 1...5, step: 1) 

// How can I make above like below
Slider(value: $tSlider, in: 1...5, step: [1,2,5,10,20]

// What I have currently
@Published var tSteps:[Int] = [1,2,5,10,20]
@Published var tSlider: Double = 1
var tScale: Int { return tlSteps[Int(tlSlider)-1] } 

【问题讨论】:

  • 考虑添加您正在使用的编程语言的标签。

标签: swift xcode slider step


【解决方案1】:

在 Slider 上设置步骤是个坏主意。 Stepper 是正确的选择。

Stepper("Year Scale", onIncrement: {
    switch tVM.tlScale {
    case 1: self.tlScale = 2
    case 2: self.tlScale = 5
    case 5: self.tlScale = 10
    case 10: self.tlScale = 20
    default: self.tlScale = 20
    },
    onDecrement: {
    switch tVM.tlScale {
    case 20: self.tlScale = 10
    case 10: self.tlScale = 5
    case 5: self.tlScale = 2
    case 2: self.tlScale = 1
    default: self.tlScale = 1
    }
})

参考:在此处发布和 Skipjakk 的答案。 Strange Behavior of Stepper in SwiftUI

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-20
    • 2021-10-20
    • 2018-05-31
    • 1970-01-01
    • 2017-04-28
    • 2015-05-21
    • 1970-01-01
    • 2016-07-24
    相关资源
    最近更新 更多