I want to set the size of UISlider thumb in 32x32, but the thumb didn't show correct size or correct shape.
How can I solve it?
code1:try to resize UIImage
let slider1 = UISlider(frame: CGRect(x:140, y:140, width:274/2, height:32))
slider1.minimumValue = 0
slider1.maximumValue = 1
slider1.value = 0.5
slider1.minimumTrackTintColor = UIColor.clear
let upThumbImage : UIImage = UIImage(named: "Handle_64x64")!
let size = CGSize(width: 32, height: 32)
UIGraphicsBeginImageContext(size)
upThumbImage.draw(in: CGRect(x:0, y:0, width:size.width, height:size.height))
let resizeImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
slider1.setThumbImage(resizeImage, for: .normal)
slider1.addTarget(self, action: #selector(self. slider1Changed(sender:)), for: UIControlEvents.valueChanged)
upView.addSubview(slider1)
result:size is correct, but the resolution of image is bad
code2:try to set image as UIColor
let slider1 = UISlider(frame: CGRect(x:140, y:140, width:274/2, height:32))
slider1.minimumValue = 0
slider1.maximumValue = 1
slider1.value = 0.5
slider1.minimumTrackTintColor = UIColor.clear
let thumbTintColor = UIColor(patternImage: UIImage(named: "Handle_64x64")!)
slider1.thumbTintColor = thumbTintColor
slider1.addTarget(self, action: #selector(self. slider1Changed(sender:)), for: UIControlEvents.valueChanged)
upView.addSubview(slider1)
result:size and shape are not correct
code3:use image that original size is 32x32 (This time I use different image, but the size is 32x32)
let slider1 = UISlider(frame: CGRect(x:140, y:140, width:274/2, height:32))
slider1.minimumValue = 0
slider1.maximumValue = 1
slider1.value = 0.5
slider1.minimumTrackTintColor = UIColor.clear
let thumbTintColor = UIColor(patternImage: UIImage(named: "Handle_32x32")!)
slider1.thumbTintColor = thumbTintColor
slider1.addTarget(self, action: #selector(self. slider1Changed(sender:)), for: UIControlEvents.valueChanged)
upView.addSubview(slider1)
result:size and shape are not correct