UISlider自定义拇指形状

时间:2016-07-08 20:02:47

标签: swift uislider

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

我找到的唯一答案就是“创建自己的自定义滑块”。但我不知道该怎么做,这比仅仅尝试修改UISlider还要多。

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

所以我的问题如下:有没有办法用UIImage“创建”CGRect所以我可以拥有我想要的任何形状(方形/矩形在此案件)?当然,是UISlider甚至可能实现?

2 个答案:

答案 0 :(得分:7)

首先,从你的形状创建一个图像。

其次,Edit the image size

第三步,为特定状态设置滑块的图像:

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

    slider.setThumbImage(yourImageThatHasBeenResized), forState: state)

}

我认为你不能在UILabel上加UISlider。您必须创建标签,然后将其与滑块相同的x对齐。

答案 1 :(得分:4)

您不需要调整图片大小。您可以为视网膜和非视网膜设备提供图像。 " @ 2×"在图像扩展名之前是程序处理大小调整的简单指示符。

您可以像这样设置图像:( 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)