swift - Swift - Xcode 如何根据单独的变量更新步进器
问题描述
我正在为一些代码而苦苦挣扎,并希望有人可以帮助我弄清楚逻辑,这听起来很简单。
我有 2 个步进器,stepper1 和 stepper2。它们的最大值都是 10。我有一个变量,它是它们当前值的总和。
一旦它们共同达到 10,我想禁用步进器的价值增加。
我只是在学习编码,所以如果我的术语不正确,请原谅我。
这是我在使用其中一个步进器进行测试时所使用的代码。
var sumMaxValues = stepper1.value + stepper2.value
var purchaseMax = 10
@IBAction func stepper1Changed(_ sender: UIStepper) {
if sumMaxValues >= purchaseMax {
stepper.maximumValue = stepper.value
}
}
这种工作,但它停止使用步进器,只激活点击代码。我希望能够降低步进器值,以便可以再次使用步进器。
因此,如果 stepper1 和 stepper2 都是 5(总共 10),那么两者都不能增加,但它们可以减少,因此再次改变它们的值。
我也尝试将其添加到 viewDidLoad() 但它不起作用。我假设我在某处遗漏了一个功能,或者只是逻辑全错了。
提前感谢您提供的任何建议。
解决方案
calc 应该在函数内部
@IBAction func stepper1Changed(_ sender: UIStepper) {
var sumMaxValues = stepper1.value + stepper2.value
//
if sumMaxValues >= purchaseMax {
stepper1.maximumValue = stepper1.value
stepper2.maximumValue = stepper2.value
}
else
{
stepper1.maximumValue = purchaseMax
stepper2.maximumValue = purchaseMax
}
}
注意:其他 stepper 的 action 内容相同,也可以连接到这个 IBAction
推荐阅读
- html - 无法让图像显示在其他图像之上
- excel - 使用 Talend 合并不同结构的 Excel 工作表
- java - 为什么我们不能在 JAVA 中创建匿名静态嵌套类?
- ms-project - 如何在考虑假期的情况下将“固定工作”任务分配给多个资源
- c# - 使用 Linq C# 获取元组对象列表中的最新日期对象
- idris - 有证明的依赖参数或类型级函数?
- python - python中集合的哈希冲突成员资格测试
- spring-boot - Api 网关将“localhost”添加到 docker-compose 上的地址
- node.js - mongodb nodejs使用以前的值更新
- mysql - 使用外部源 mysql 在 google cloud sql 中设置副本时出现定义器错误