微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决拖出滑块时 UISlider 选定的拇指图像不会保留

我的滑块有两个拇指图像,设置方式如下:

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

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

解决方法

尝试子类化 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所有学分复制给作者

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。