如何改变UISlider thumb image的大小

时间:2017-03-02 06:05:45

标签: objective-c

这是我的代码,但它覆盖了我的整个滑块框架,我只想更改它不起作用的滑块图标

 [mySlider setThumbImage: [UIImage imageNamed:@"slider.png"]forState:UIControlStateNormal];
    mySlider.minimumValue = 2000;
    mySlider.maximumValue = 4000;
    mySlider.continuous = NO;
    [mySlider addTarget:self action:@selector(sliderChanged:)
       forControlEvents:UIControlEventValueChanged];

1 个答案:

答案 0 :(得分:1)

您需要使用setThumbImage forState设置初始拇指图像。这在iOS 10中适用于我,并返回正确的图像宽度。滑块设置在故事板中,并通过IBOutlet连接。

查看UISlider提供的属性,您可以非常强烈地感觉到,虽然该类旨在让您自定义它的外观,但在用户调整它时动态更改控件的外观可能不是&# 39;设计师的想法。否则,他们已经包含了您建议的那种机制:将不同图像与值范围相关联的方法。

self.thumbImage = [self imageWithImage:[UIImage imageNamed:@"IconForSlider.png"] scaledToSize:CGSizeMake(frame.size.height, frame.size.height)];
size = self.thumbImage.size.height;
[self setThumbImage:[self imageRotatedByDegrees:0] forState:UIControlStateNormal];
[self addTarget:self action:@selector(changeValue) forControlEvents:UIControlEventValueChanged];