7

我想为 UISlider 轨道使用图像。我不希望拇指左边有一种颜色,右边有另一种颜色。我只想在整个轨道上放一张静态图像。可能的?

4

3 回答 3

16

要将图像设置为滑块,您可以使用setMinimumTrackImagesetMaximumTrackImage方法。根据您的要求,将两者都设置为相同的图像。

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];

有关更多信息,请查看以下链接:

  1. 用户界面定制教程
  2. http://jasonlawton.com/blog/customizing-uislider-in-iphone/
  3. 自定义 UISlider
  4. 滑块图像
于 2012-07-05T17:28:42.167 回答
5
[[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];
于 2013-11-22T06:04:06.870 回答
0

只需将两侧设置为相同的图像。如果您想要两端的圆角,您可能想要制作两个具有相同颜色/图案的单独图像。

于 2012-07-05T17:28:28.567 回答