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

时间:2012-06-27 08:12:57

标签: ios objective-c uiimage uislider

我想制作自定义UISlider, 像这样的东西

| O ---------- | - > | -----Ø------ | - > | ------------〇|

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

有人知道怎么做吗?

2 个答案:

答案 0 :(得分:10)

您可以使用此代码:

+ (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

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

答案 1 :(得分:4)

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