在快速滑块中使用封闭范围的变量
Posted
技术标签:
【中文标题】在快速滑块中使用封闭范围的变量【英文标题】:using variables for a closed range in swift slider 【发布时间】:2021-12-31 10:40:36 【问题描述】:我有以下滑块按预期工作,但是我想用最小和最大变量替换范围 0...100
Slider(value: $vm.lengthSliderValue,
in: 0...100,
step: 5,
onEditingChanged: (_) in
vm.materialSizeUpdate()
,
minimumValueLabel: Text(vm.currentValues.wallmin),
maximumValueLabel: Text(vm.currentValues.wallmax))
Text("Select wall thickness")
我已经尝试了以下,但它不会编译。 我已经尝试了我能想到的所有变体,但没有任何效果。 如何用最小和最大变量替换范围
let min = Int(vm.currentValues.wallmin)
let max = Int(vm.currentValues.wallmax)
Slider(value: $vm.lengthSliderValue,
in: min ... max,
step: 5,
onEditingChanged: (_) in
vm.materialSizeUpdate()
,
minimumValueLabel: Text(vm.currentValues.wallmin),
maximumValueLabel: Text(vm.currentValues.wallmax))
Text("Select wall thickness")
Text("\(vm.lengthSliderValue)")
【问题讨论】:
slider 需要你使用 int 的两倍 【参考方案1】:你需要使用浮点类型,比如
struct TestMinMaxSlider: View
@State private var value: Double = 10
var min: Double = 0
var max: Double = 100
var body: some View
VStack
Text("Value: \(Int(value))")
Slider(value: $value, in: min...max, step: 5)
使用 Xcode 13.2 / ios 15.2 测试
【讨论】:
感谢只是将 Int 更改为双倍工作 - 我不知道为什么我错过了以上是关于在快速滑块中使用封闭范围的变量的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Python 3.8.0 允许在不使用“非本地”变量的情况下从封闭函数范围更改可变类型?