使用基于计算值的滑块更改TextField中的值[Swift]

时间:2018-02-14 22:25:37

标签: ios swift user-interface uitextfield uislider

我正在创建一些简单的输入/输出内容。 我有一个函数来计算某些东西并返回文本字段中的值。我想基于此计算值使用滑块更改文本字段中的值。假设我的函数返回值4,76,滑块的最大值应为值* 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()返回Double值。滑块应该能够更改此函数的值并将其返回到textField。

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

1 个答案:

答案 0 :(得分:0)

您需要致电

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

每次水量变化。有了这个,你总是有maximumValue等于func的双倍值