如何改变UISlider的拇指图像的尺寸以编程

如何改变UISlider的拇指图像的尺寸以编程

问题描述:

我想使自定义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; 
} 

here服用。

额外的工作,你都会有,将是一个方法的将调用imageWithImage:scaledToSize:UISlider's值更改时。

+0

THX的回复,我已经与后续添加的,对吗​​?但我测试有麻烦图像大小发生... 浮点率= penSize_sld.value /(penSize_sld.maximumValue/2); CGSize ss = CGSizeMake(penSize_sld.currentThumbImage.size.width * ratio,penSize_sld.currentThumbImage.size.height * ratio); UIImage * changeImage = [UIImage imageWithImage:penSize_sld.currentThumbImage scaledToSize:ss]; [penSize_sld setThumbImage:changeImage forState:UIControlStateNormal];如果(发送者== penSize_sld){brush_width = penSize_sld.value; } – AndyYeung

+1

如果您需要添加额外的信息,编辑您的帖子,并把这些代码有... – Peres

+0

的工作!感谢JackyBoy '浮子比= penSize_sld.value /(penSize_sld.maximumValue/2); 如果(比 AndyYeung

斯威夫特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 
    } 
}