当滑块按钮超过最大值的60%时,使用最小轨迹图像的UISlider最大轨迹图像

时间:2013-10-22 10:49:50

标签: ios xcode uislider

我正在使用UISlider,其最小和最大图像设置如下,

UIImage *stetchLeftTrack = [[UIImage imageNamed:@"Left.png"] stretchableImageWithLeftCapWidth:14.0 topCapHeight:0.0];
[self._timeSlider setMinimumTrackImage:stetchLeftTrack forState:UIControlStateNormal];

UIImage *stetchRightTrack = [[UIImage imageNamed:@"Right.png"] stretchableImageWithLeftCapWidth:14.0 topCapHeight:0.0];
[self._timeSlider setMaximumTrackImage:stetchRightTrack forState:UIControlStateNormal];

Max image using min image

一切按预期工作,直到滑块按钮超过最大值的60%。 正如您在屏幕截图中看到的那样,最小和最大滑块图像都设置为最小图像(Left.png)。

请帮忙 在此先感谢!!!!

2 个答案:

答案 0 :(得分:1)

事实上,我认为问题的基础是另一个问题,因此您的解决方案是有效的。

我遇到了同样的问题,在再次阅读轨道图像的文档时,我注意到可伸缩图像必须是中间(可伸展)部分必须是1像素宽(在视网膜2像素)。我的轨迹图像被定义为滑块的完整宽度,左右顶盖为20像素,中间部分为230像素......

当我将可跟踪图像更改为41像素(左边20像素,中间部分可伸缩1像素,右边部分为20像素)并将顶部插图设置为UIEdgeInsetsMake(0, 20, 0, 20)时,它工作正常。

答案 1 :(得分:0)

这有点奇怪,但最后我想出来了..

My Left.png尺寸为20x6(绿色) And Right.png大小为84x8(白色)

我将Right.png的大小更改为20x8,这解决了我的问题