Objective c “如何防止滑块转动”;“坏的”;接近边缘
我为我的滑块提供了滑块图形 结果是: 然后在右边 你看,边缘变成了“盒子”而不是圆形。我真正想要的是与苹果提供的东西更接近的东西。这是我用来在使用自定义滑块图像和nil之间来回切换的代码:Objective c “如何防止滑块转动”;“坏的”;接近边缘,objective-c,uislider,xcode4.5,Objective C,Uislider,Xcode4.5,我为我的滑块提供了滑块图形 结果是: 然后在右边 你看,边缘变成了“盒子”而不是圆形。我真正想要的是与苹果提供的东西更接近的东西。这是我用来在使用自定义滑块图像和nil之间来回切换的代码: - (IBAction)groupPinButton:(id)sender { self.groupPinButton.selected = ! self.groupPinButton.selected; UIImage *minImage = [[UIImage imageNamed:@
- (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的图片如下:
你可以在
及
请注意,另一个边缘很好。所以,当滑块位于除最大值和最小值以外的任何位置时,都可以正常工作。如果滑块处于最大值,则最右角将出现混乱。最左边的角落很好。啊!和我一样的问题。在程序结束时,滑块处于最大值,整个轨迹图像现在位于左侧,即示例中的“minimum_slider.png”。因此,“最大\u滑块”图像中没有显示任何部分(这将为您提供圆形的右边缘),只有“最小\u滑块”的方形右侧 我怀疑答案是在两端都画出两个圆形的边,并在图形中间画出可扩展的部分(边缘插图)。
我还没有这样做,因为我仍然对uiedgeinset的工作方式感到困惑(我觉得文档很糟糕!),现在默认的轨迹对我来说已经足够了。所以,当你解决这个问题时,请让我们都知道。我怀疑jrturton对你的怀疑是正确的,一旦我证明他的怀疑是正确的,我会标记你的答案。当这些假设被暂停时,我在悬念中等待,我想补充一点:为曲目和拇指添加我自己的图像,我发现有两种问题。第一,拇指似乎不像内置的拇指那样“抓住”,我经常在短暂的移动后失去它。第二,当我用1/2秒的动画隐藏和取消隐藏它时,我发现元素以不同的速度出现和消失。例如,Netflix应用程序中的厚红色轨迹和红色按钮。我不喜欢它显示和隐藏的方式。