【发布时间】:2012-07-05 16:02:04
【问题描述】:
我想为 UISlider 轨道使用图像。我不希望拇指左边有一种颜色,右边有另一种颜色。我只想在整个轨道上放一张静态图像。可能吗?
【问题讨论】:
标签: ios customization uislider
我想为 UISlider 轨道使用图像。我不希望拇指左边有一种颜色,右边有另一种颜色。我只想在整个轨道上放一张静态图像。可能吗?
【问题讨论】:
标签: ios customization uislider
要为滑块设置图像,您可以使用 setMinimumTrackImage、setMaximumTrackImage 方法。根据您的要求,将两者都设置为相同的图像。
iOS 5 及以下
UIImage *sliderTrackImage = [[UIImage imageNamed: @"Slider.png"] stretchableImageWithLeftCapWidth: 7 topCapHeight: 0];
[mySlider setMinimumTrackImage: sliderTrackImage forState: UIControlStateNormal];
[mySlider setMaximumTrackImage: sliderTrackImage forState: UIControlStateNormal];
iOS 5+
UIImage *sliderTrackImage = [[UIImage imageNamed:@"Slider.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 7, 0, 0)];
[mySlider setMinimumTrackImage: sliderTrackImage forState: UIControlStateNormal];
[mySlider setMaximumTrackImage: sliderTrackImage forState: UIControlStateNormal];
更多信息请查看以下链接:
【讨论】:
stretchableImageWithLeftCapWidth:topCapHeight: 已弃用。将其替换为resizableImageWithCapInsets:UIEdgeInsetsMake(0, 7, 0, 7) resizingMode:UIImageResizingModeStretch。
[[UISlider appearance] setThumbImage:[UIImage imageNamed:@"ball.png"] forState:UIControlStateNormal];
[slider setMinimumTrackImage:[[UIImage imageNamed:@"volume_slider_oragne.png"] stretchableImageWithLeftCapWidth:0.3 topCapHeight:0.0] forState:UIControlStateNormal];
[slider setMaximumTrackImage:[[UIImage imageNamed:@"volume_strap_gry.png"] stretchableImageWithLeftCapWidth:0.3 topCapHeight:0.0] forState:UIControlStateNormal];
【讨论】:
只需将两侧设置为相同的图像。如果您想要两端的圆角,您可能想要制作两个具有相同颜色/图案的单独图像。
【讨论】: