快速设置 UIslider 拇指图像

Posted

技术标签:

【中文标题】快速设置 UIslider 拇指图像【英文标题】:set UIslider thumb image in swift 【发布时间】:2016-02-08 12:38:59 【问题描述】:

我想在这里设置喜欢音乐应用的拇指是 ss

我想要

我有

这里是代码

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

【问题讨论】:

是返回图像并显示它 我的问题是拇指图像上部没有像我想要的第一张图像那样显示 你不想在滑块上显示上面部分的缩略图,对吧? 查看我的答案,将该图像设置为您的拇指图像。我已经在我的一个项目中实现了这一点 你能告诉我如何创建视频应用@John 【参考方案1】:

如果你想剪辑拇指图像的顶部,你应该使用:

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

所以将这个添加到你的代码中:

durationSlider.thumbRectForBounds(...)

并将thumbRectCGRect 设置为将durationSlider.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

【讨论】:

【参考方案2】:

您现在只想在拇指下方显示。所以你需要使上面的一半图像清晰。请检查我附上答案的图片

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

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

【讨论】:

以上是关于快速设置 UIslider 拇指图像的主要内容,如果未能解决你的问题,请参考以下文章

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

具有清晰背景的 UISlider 拇指图像在其后面显示轨道

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

在 Swift 中更改 UISlider 拇指的大小

自定义 UISlider(跟踪图像高度)

如何保持 UISlider 拇指小但分辨率更高的照片?