当滑块按钮超过最大值的 60% 时,UISlider 最大轨道图像使用最小轨道图像
Posted
技术标签:
【中文标题】当滑块按钮超过最大值的 60% 时,UISlider 最大轨道图像使用最小轨道图像【英文标题】:UISlider maximum track image using minimum track image when slider button crosses approx 60% of max value 【发布时间】:2013-10-22 10:49:49 【问题描述】:我正在使用 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];
一切都按预期工作,直到滑块按钮超过最大值的大约 60%。 正如您在屏幕截图中看到的,最小和最大滑块图像都设置为最小图像 (Left.png)。
请帮忙 提前谢谢!!!!
【问题讨论】:
您的问题是什么?看不懂。 我的 minimumTrackImage (Left.png) 是绿色的,而 maximumTrackImage(Right.png) 是不同的颜色。当我的滑块低于总值的 60%(大约)时,滑块的左侧看起来是绿色的,右侧看起来像预期的不同颜色。但是当它超过总值的 60% 时,右侧也会变成绿色(使用 Left.png)。 你设置了最小值和最大值吗? 是的,同时设置滑块按钮移动工作正常.. 你的问题解决了吗? 【参考方案1】:事实上,我认为问题的根源是不同的,因此您的解决方案有效。
我遇到了同样的问题,当我再次阅读轨道图像的文档时,我注意到可拉伸图像的中间(可拉伸)部分必须是 1 像素宽(在视网膜 2 像素)。我的轨道图像被定义为滑块的完整宽度,左右大写为 20 像素,中间部分为 230 像素...
当我将可跟踪图像更改为 41 像素(左侧 20 像素,中间可拉伸 1 像素,右侧 20 像素)并将 cap insets 设置为 UIEdgeInsetsMake(0, 20, 0, 20)
时,一切正常。
【讨论】:
【参考方案2】:这有点奇怪,但我终于想通了..
我的 Left.png 尺寸是 20x6(绿色) Right.png 大小为 84x8(白色)
我将 Right.png 大小更改为 20x8 这解决了我的问题
【讨论】:
以上是关于当滑块按钮超过最大值的 60% 时,UISlider 最大轨道图像使用最小轨道图像的主要内容,如果未能解决你的问题,请参考以下文章