根据计算值 [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
的双精度值
我正在创建一些简单的 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
的双精度值