【发布时间】:2020-10-21 10:59:00
【问题描述】:
在学习SwiftUI的过程中,遇到了这个问题。
我有这个带有滑块的视图:
struct RangeSpanView: View {
var minimumValue,maximumValue:Double
init(minSlide: UInt64,
maxSlide: UInt64) {
self.minimumValue = Double(minSlide)
self.maximumValue = Double(maxSlide)
}
@State var sliderValue = 0.0
var body: some View {
VStack {
HStack {
Text("\(Int(minimumValue))")
Slider(value: $sliderValue,
in: minimumValue...maximumValue)
Text("\(Int(maximumValue))")
}.padding()
Text("\(Int(sliderValue))")
Spacer()
}
}
}
这是加载视图的代码。
var body: some View {
NavigationLink(destination: RangeSpanView(minSlide: myMinVal,
maxSlide: myMaxVal),
label: {
.......... // Useful code.
})
}
使用滑块可以正常工作。关于 sliderValue 的初始化,只有一点不一致的细节我想修复。
当前代码中的方式是 sliderValue 被初始化为 0.0,当最小值和最大值分别为 150.0 和 967.0(例如)时,这并不是我喜欢的。
我尝试了各种解决方案来将 sliderValue 初始化为 minimumValue(例如)以使其保持一致。但它总是失败并出现一些错误消息,抱怨Slider 对象中的某些“预期参数类型'绑定”。
那么,有没有合适的方法来解决这个问题?
【问题讨论】: