我想制作自定义UISlider, 像这样的东西
| O ---------- | - > | -----Ø------ | - > | ------------〇|
thumbImage
在最小值处会很小,它会在滑块值增加时增加大小,否则会减小。
有人知道怎么做吗?
答案 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
}
}