拖出滑块时,UISlider 选择的拇指图像不会保留

Posted

技术标签:

【中文标题】拖出滑块时,UISlider 选择的拇指图像不会保留【英文标题】:UISlider selected thumb image does not persist when dragging out of the slider 【发布时间】:2021-02-03 02:29:41 【问题描述】:

我的滑块有两个缩略图,按以下方式设置:

seeker.setThumbImage(UIImage(named: "seeker-thumb-normal"), for: .normal)
seeker.setThumbImage(UIImage(named: "seeker-thumb-selected"), for: .highlighted)

这似乎工作得很好,除了当我开始拖动 UISlider 并将手指从滑块移到足够远时,即使我仍在跟踪,滑块也会将拇指图像恢复为 .normal。如何在整个跟踪事件期间保留选定的拇指图像?谢谢

【问题讨论】:

【参考方案1】:

尝试继承 UISlider 并覆盖 trackRect(forBounds

class YourSlider: UISlider 
    override func trackRect(forBounds bounds: CGRect) -> CGRect 
        let point = CGPoint(x: bounds.minX, y: bounds.midY)
        return CGRect(origin: point, size: CGSize(width: Your image width, height: your image height))
    

并在您的代码中使用YourSlider 的实例而不是UISlider。想法无耻地抄袭了medium article作者的所有学分

【讨论】:

以上是关于拖出滑块时,UISlider 选择的拇指图像不会保留的主要内容,如果未能解决你的问题,请参考以下文章

查找时如何更改 UISlider 拇指的大小

拇指图像不会移动到 UISlider 的边缘

在透明拇指图像后面隐藏 UISlider 轨道

是否可以向 UISlider 拇指图像添加标签?

如何获取 UISlider 拇指位置

UISlider 拇指图像像素化