如何更改滑块拇指图像?

8

我需要创建自己定制的滑块。我试图更改滑块的拇指图像、背景和一些类似于滑动解锁的测试。 我尝试过以下方法,但它不起作用:

CGRect frame = CGRectMake(0.0, 219.0, 323.0, 20.0);
UISlider *myslider = [[UISlider alloc] initWithFrame:frame];

[myslider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
[myslider setBackgroundColor:[UIColor clearColor]];
[myslider setThumbImage: [UIImage imageNamed:@"sliderThumb@2x.png"] forState:UIControlStateNormal];

myslider.minimumValue = 0.0;
myslider.maximumValue = 50.0;
myslider.continuous = YES;
myslider.value = 15.0;
[self.view addSubview:myslider];

但是在这个问题中,缩略图的大小非常大。如何减小缩略图的大小......以及如何设置滑块背景和文本。请帮助我解决此问题。

3个回答

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

如果拇指的大小不同,它会导致错误。 - Vyachaslav Gerchicov

8
要设置滑块的背景颜色,我会假定您可以将属性backgroundColor设置为[UIColor colorWithPatternImage:[UIImage imageNamed:@“slider background”]]; 此外,附加了@2x结尾的图像意味着它们是标准副本大小的两倍。这仅适用于视网膜显示屏,您不应在标准(旧式)设备上使用UIImage。如果您有图像的传统副本,请尝试将图像名称设置为@"sliderThumb.png"

4
只需提供一个不同大小的sliderThumb@2x.png,我们就可以自动适配。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接