在 swift 中设置 UIslider 缩略图

set UIslider thumb image in swift

我想在这里设置like musi app的拇指是ss

我要

我有

这是代码

        durationSlider.setThumbImage(UIImage(named: "Slider_indicator.png"), forState: UIControlState.Normal)
    durationSlider.setThumbImage(UIImage(named: "Slider_indicator.png"), forState: UIControlState.Highlighted)

这里你现在只想显示缩略图的下方部分。所以你需要把上面一半的图像弄清楚。请检查我附上答案的图片

[slider setThumbImage:[UIImage imageNamed:@"1"] forState:UIControlStateNormal];

如果需要,试试这个并下载缩放图像

如果你想剪掉thumbImage的顶部,你应该使用:

public func thumbRectForBounds(bounds: CGRect, trackRect rect: CGRect, value: Float) -> CGRect

因此将此添加到您的代码中:

durationSlider.thumbRectForBounds(...)

并设置 thumbRectCGRectdurationSlider.frame.origin.y 的值设为自己的 origin.y

这是另一个临时解决方案,我稍后会回到 thumbRectForBounds 方法:

let mask = CAGradientLayer(layer: durationSlider.layer)
let lineTop = (durationSlider.bounds.height/2 - 0.5) / durationSlider.bounds.height
mask.frame = durationSlider.bounds
mask.colors = [UIColor.clearColor().CGColor, UIColor.blackColor().CGColor]
mask.locations = [lineTop, lineTop]
durationSlider.layer.mask = mask