如何改变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
值更改时。
答
斯威夫特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
}
}
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
如果您需要添加额外的信息,编辑您的帖子,并把这些代码有... – Peres
的工作!感谢JackyBoy '浮子比= penSize_sld.value /(penSize_sld.maximumValue/2); 如果(比 AndyYeung