UISlider 自定义拇指形状

UISlider Custom Thumb Shape

我想稍微修改一下UISlider。确切地说,我希望拇指具有 自定义形状 (square/rectangle 带有圆角和底部阴影)。

我找到的唯一答案类似于 "Create your own custom slider"。但我不知道该怎么做,这比仅仅尝试修改 UISlider.

花费的时间要多得多

根据我的研究,我发现您可以将图像分配给拇指。

所以我的问题如下:有没有什么方法可以让 "creating" 一个 UIImage 和一个 CGRect 这样我就可以有任何我想要的形状( square/rectangle 在这种情况下)?当然,还有可能用 UISlider 实现吗?

首先,根据您的形状创建图像。

第二,Edit the image size.

三、设置滑块特定状态的图像:

for state: UIControlState in [.Normal, .Selected, .Application, .Reserved] {

    slider.setThumbImage(yourImageThatHasBeenResized), forState: state)

}

我不相信你可以把 UILabel 放在 UISlider 上。您必须创建标签,然后将其与滑块对齐到相同的 x。

您不需要调整图片大小。您可以为视网膜和非视网膜设备提供图像。图片扩展名前的“@2x”是一个简单的符号,让您的程序负责调整大小。

你可以这样设置图片:(Swift 4)

for state: UIControlState in [.normal, .selected, .application, .reserved] {

    slider.setThumbImage(UIImage(named: "sliderThumbNormal@2x.png"), for: state)

}

// if you want a different image while dragging the slider, use the hightlighted state      
slider.setThumbImage(UIImage(named: "sliderThumbSelected@2x.png"), for: .highlighted)