我为滑块提供了滑块图片。
这是结果:
然后在右边
所以你看,边缘变成了“盒子”而不是圆形。我真正想要的是与苹果提供的东西更接近的东西。这是我用来在使用自定义滑块图像和nil之间来回切换的代码:
- (IBAction)groupPinButton:(id)sender {
self.groupPinButton.selected = ! self.groupPinButton.selected;
UIImage *minImage = [[UIImage imageNamed:@"minimum_slider.png"]resizableImageWithCapInsets2:UIEdgeInsetsMake(0, 5, 0, 0)];
UIImage *maxImage = [[UIImage imageNamed:@"maximum_slider.png"]resizableImageWithCapInsets2:UIEdgeInsetsMake(0, 0, 0, 5)];
if (self.groupPinButton.selected)
{
[self.distanceSlider setMaximumTrackImage:maxImage forState:UIControlStateNormal];
[self.distanceSlider setMinimumTrackImage:minImage forState:UIControlStateNormal];
}
else{
[self.distanceSlider setMaximumTrackImage:nil forState:UIControlStateNormal];
[self.distanceSlider setMinimumTrackImage:nil forState:UIControlStateNormal];
}
}
如果我将maximumTrackImage设置为nil,则为截图:
看起来好多了。但我想自定义。
我用于minimum_slider.png和maximum_slider.png的图片如下:
你可以到达那里
http://i.stack.imgur.com/n30aw.png
和
http://i.stack.imgur.com/sF9SQ.png
注意另一边是好的。所以当滑块在任何地方,除了最大和最小的东西工作正常。如果滑块位于最大值,则最右边的角落会混乱。最左边的角落很好。
答案 0 :(得分:2)
啊!我遇到了同样的问题。当你到达程序的末尾,并且滑块处于最大值时,整个轨迹图像现在是左侧,即示例中的“minimum_slider.png”。因此,“maximum_slider”图像的任何部分都没有显示(这会给你圆角的右边缘),只有“minimum_slider”的正方形右边。
我怀疑答案是让你的两个图像在两端都是圆形边,并在图形中间制作可扩展部分(边缘插图)。
我还没有这样做,因为我仍然对UIEdgeInsets的工作方式感到困惑(我发现文档很糟糕!),现在默认轨道对我来说已经足够了。所以,当你解决这个问题时,让我们都知道。