Change UISlider images with Swift

I am trying to change the default images for UISliders using Swift. I am editing didFinishLaunchingWithOptionsat AppDelegate.

In Objective-C, you will do the following:

UIImage *maxImage = [UIImage imageNamed:@"slider-track.png"];
[[UISlider appearance] setMaximumTrackImage:maxImage forState:UIControlStateNormal];

I tried to convert to Swift, but was not successful:

var maxImage:UIImage = UIImage (named:"slider-track.png")
UISlider.setMaximumTrackImage(image: maxImage, forState: UIControlStateNormal)

The first line is beautiful, and the second gives an error.

What is the correct syntax for the second line?

thank

+4
source share
4 answers

From the Doc example

let leftTrackImage = UIImage(named: "slider_blue_track")
        customSlider.setMinimumTrackImage(leftTrackImage, forState: .Normal)
+4
source

Change UISlider thumb image with Swift

yourSlider.setThumbImage(UIImage(named: "yourSlider.png"), forState: UIControlState.Normal)

    yourSlider.setThumbImage(UIImage(named: "yourSlider.png"), forState: UIControlState.Highlighted)
+6
source

SWIFT 3

class Slider: UISlider {

    @IBInspectable var thumbImage: UIImage?

    // MARK: Lifecycle

    override func awakeFromNib() {
        super.awakeFromNib()

        if let thumbImage = thumbImage {
            self.setThumbImage(thumbImage, for: .normal)
        }
    }
}
0
source
UIImage *img = [UIImage imageNamed:@"slider"];

UIImage *trackImg;

if (isiPad) 
{

[[UISlider appearance] setThumbImage:img forState:UIControlStateNormal];
[[UISlider appearance] setThumbImage:img forState:UIControlStateHighlighted];
trackImg = [UIImage imageNamed:@"ipad_img.png"];
}
else 
{

 [[UISlider appearance] setThumbImage:[self imageWithImage:img scaledToSize:CGSizeMake(27, 27)] forState:UIControlStateNormal];
[[UISlider appearance] setThumbImage:[self imageWithImage:img scaledToSize:CGSizeMake(27, 27)] forState:UIControlStateHighlighted];
 trackImg = [UIImage imageNamed:@"img.png"];
  }

[[UISlider appearance]  setMinimumTrackImage:trackImg forState:UIControlStateNormal];
[[UISlider appearance]  setMaximumTrackImage:trackImg forState:UIControlStateNormal];
-1
source

All Articles