更改UISlider thumbImage的大小

如何更改我用作thumbImage的UIImage的大小。 我用来设置图像的代码如下。

let image: UIImage = UIImage(assetIdentifier: UIImage.AssetIdentifier.Slider) 

我使用枚举来获取图像,没有问题。

我用来设置thumbImage的代码如下。

 self.setThumbImage(image, forState: UIControlState.Normal) 

我曾尝试使用下面的代码来更改拇指图像大小,但无法find解决scheme。

 let trackRect: CGRect = CGRect(x: 0.0, y: 0, width: self.frame.size.width, height: self.frame.size.height) let thumbRect: CGRect = CGRect(x: 0.0, y: 0.0, width: 12.0, height: 12.0) thumbRectForBounds(thumbRect, trackRect: trackRect, value: 0.0) 

目前这幅图像是40pt乘40pt(它是一个圆圈)。 我想要24点24点左右的图像。

另外,这是在Xcode 7的Swift 2中。我知道这些方法适用于iOS8.0或更高版本,这是我的部署目标。

拇指将是您提供的图像的大小。 要以24pt为单位获得24pt,则必须提供48px x 48px(和@ 72×72的图像)。 这也影响滑块框架。

如果需要,您可以定义一个扩展名来dynamic调整图像大小:

 extension UIImage { func imageWithImage(image: UIImage, scaledToSize newSize: CGSize) -> UIImage { UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0) image.drawInRect(CGRectMake(0, 0, newSize.width, newSize.height)) let newImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return newImage; } } 

这样,你甚至可以做一些很酷的事情,比如在拇指长大和缩小的地方有一个滑块,当它接近最大值和最小值时。