根据计算值 [Swift] 更改带滑块的 TextField 中的值

change Value in a TextField with Sliders based on a calculated Value [Swift]

我正在创建一些简单的 Input/Output 东西。 我有一个计算某些东西的函数,returns 文本字段中的值。我想根据此计算值使用滑块更改文本字段中的值。假设我的函数 returns 的值为 4,76,滑块的最大值应为 value*2 (= 9,52),最小值为 0。我的问题是我真的不知道如何我应该创建一个滑块来更改值,其中的值不是硬编码的。

@IBAction func slider(_ sender: UISlider) {
    sender.value = Float(calculateWaterAmount())!
    sender.minimumValue = 0
    sender.maximumValue = sender.value*2

    waterAmountTextField.text = String(sender.value)
}

函数 calculateWaterAmount() return 是一个 Double 值。滑块应该能够更改此函数的值并将其 return 转换为文本字段。

编辑: 所以基本上它应该看起来像这样 slider with value。 将在文本字段中显示的值取决于函数 calculateWaterAmount() 中的公式,每次我用不同的值调用函数时,它显然应该 return 不同的值并且滑块应该可以改变显示的值,如果比方说,需要一个介于 0 和 n*2 之间的值,其中 n = 计算值

您需要致电

slider.maximumValue = Float(calculateWaterAmount()) * 2.0

每次水量变化。有了这个,您将始终拥有最大值等于 func

的双精度值