gpt4 book ai didi

xcode - 在一组 UISlider 之间划分一个 set 变量

转载 作者:行者123 更新时间:2023-11-28 09:19:58 24 4
gpt4 key购买 nike

我在让 UISlider 相互交互时遇到问题,并且没有一个好的方法来描述我所追求的;但是这里是。

假设您正在创建一个角色扮演角色并且有 100 个属性点要花费。您可以将点划分为力量、速度、智力、防御和运气的统计数据。所以可用的属性点是我的变量,统计数据是我的 slider 。

如果我将强度 slider 设置为 80,那么我应该无法将任何其他 slider 滑过 20。

基本上,我正在寻找一种方法来根据其他 slider 的 slider.value 和原始变量的剩余值动态设置 UISlider 最大值。

这是一个快速的项目,也是我遇到最大困难的地方。

最佳答案

首先,创建一个 slider 数组(您可以将其作为一个 socket 集合来执行,或者在您的 viewDidLoad 方法中进行设置),然后将每个 slider 连接到 sliderChanged下面的方法。

sliderChanged 计算当前移动的 slider 之外的所有 slider 使用了多少合并最大值,然后将当前移动的 slider 限制为剩余的 slider 。

class ViewController: UIViewController {
let combinedMaximum: Float = 100
@IBOutlet var sliders: [UISlider]!

@IBAction func sliderChanged(sender: UISlider) {
let totalUsed = sliders.reduce(0) { (subtotal: Float, slider: UISlider) in
if slider != sender {
return subtotal + slider.value
}
return subtotal
}
let remainder = combinedMaximum - totalUsed
if sender.value > remainder {
sender.value = remainder
}
}

// etc...
}

关于xcode - 在一组 UISlider 之间划分一个 set 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25611669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com