在 SwiftUI 中有条件地更改滑块的缩略图

Changing the thumb image of the slider conditionally in SwiftUI

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

SwiftUI 的新手。

您可以使用滑块方法,

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

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

@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)
    }