如何以编程方式更改UISlider的拇指图像大小

我想制作自定义UISlider,就像这样

| O ———- | – > | —– O —— | – > |————〇|

thumbImage在最小值处会很小,它会在滑块值增加时增加大小,否则会减小。

谁知道怎么做?

您可以使用此代码:

 + (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize { //UIGraphicsBeginImageContext(newSize); UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0); [image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)]; UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return newImage; } 

从这里开始 。

您将拥有的额外工作将是一个方法A ,它将调用imageWithImage:scaledToSize:UISlider's值发生变化时。

斯威夫特3:

 extension UIImage { func scaleToSize(newSize: CGSize) -> UIImage { UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0) draw(in: CGRect(x: 0, y: 0, width: newSize.width, height: newSize.height)) let newImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()! UIGraphicsEndImageContext(); return newImage } }