【问题标题】:Changing the thumb image of the slider conditionally in SwiftUI在 SwiftUI 中有条件地更改滑块的缩略图
【发布时间】:2021-01-26 09:35:21
【问题描述】:

我一直在寻找方法来根据每个值更改有条件地更改滑块的拇指图像。由于我无法找到找到拇指的方法,因此我使用了自定义滑块,使用此 article。它工作得很好,但是,我不确定如何有条件地更改拇指图像。 请帮忙。

SwiftUI 的新手。

【问题讨论】:

    标签: swiftui slider


    【解决方案1】:

    你可以使用滑块方法,

    setThumbImage(image, for: .normal)
    setThumbImage(image, for: . highlighted)
    

    并且根据您的要求,如果您想在值更改时更改图像,您需要添加您的代码,例如(代码来自您附加的链接示例),

    @objc func valueChanged(_ sender: UISlider) {
          self.value.wrappedValue = Double(sender.value)
          let arra: [UIImage?] = [UIImage(systemName: "heart"), UIImage(systemName: "pencil"), UIImage(systemName: "trash")]
          
          sender.setThumbImage(arra.randomElement() as? UIImage, for: .normal)
          sender.setThumbImage(arra.randomElement() as? UIImage, for: .highlighted)
        }
    

    【讨论】:

    • 感谢您的回答。这确实有效,但是,我不确定如何在值更改为 1(步长 = 10)时更改图像。它变化如此之快。我们将不胜感激。
    • 使用 mySlider.isContinuous = false,这样只有在用户停止移动滑块时才会收到 valueChanged 事件。
    • 更多详细答案在这里,stackoverflow.com/questions/9390298/…
    猜你喜欢
    • 2021-01-10
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-13
    • 2018-09-30
    相关资源
    最近更新 更多