ios - 处理多个 UISlider

标签 ios swift uitableview uislider

我有 4 个 UISlider,最小值为 0,最大值为 10。我有一个常数值(例如:20)。

我的目标是 4 个 slider 值的总和不超过该常量值。

例如:如果我拖动并设置第一个和第二个 slider 的最大值(即 10),现在 4 个 slider 的总和为 20。

我不想让其他 2 个 slider (第 3、4 个)增加。如果我减少任何 slider (第一个或第二个)值意味着我可以允许它们(2、3、4)增加 slider 值。

帮助我实现这一目标。

You can see this screen shot

You can see this screen shot

最佳答案

@IBAction sliderValueChanged 中,计算所有 slider 的总和。如果总和大于最大值,只需将“引起” slider (例如,当前正在被用户拖动的 slider )的值重置为允许的最大值。

// ...
let maxSum = 20
// ...
@IBAction func sliderValueChanged(_ sender: UISlider) {
    let sum = slider1.value + slider2.value + slider3.value + slider4.value // better: use outlet collection
    if (sum > maxSum) {
        let overflow = sum - maxSum
        sender.value = sender.value - overflow
    }
}

关于ios - 处理多个 UISlider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54237553/

相关文章:

ios - UIImagePickerController:检查返回的图像是横向还是纵向?

ios - 如何删除 SwiftyJSON 元素?

ios - Invalid Bundle - dylib 搜索路径中不存在您的应用程序引用的一个或多个动态库 | Xcode 13.3

ios - 当我尝试只检查 tableview 中的一个单元格时出现错误

ios - 如何防止tableview section head在滚动时粘住?

ios - 你如何添加股票苹果 watch 加载屏幕?

ios - 如何测试 iTunesConnect 等 iOS 应用程序?

iOS - 在后台播放 "called"时的铃声

iphone - xib中tableview中SearchBar和搜索显示 Controller 的实现方法

iphone - 为什么我的模态视图没有显示在我的 iOS 应用程序中?