更改UISlider thumbImage的大小

Cod*_*ver 2 uikit uiimage uislider ios swift2

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

let image: UIImage = UIImage(assetIdentifier: UIImage.AssetIdentifier.Slider)
Run Code Online (Sandbox Code Playgroud)

我使用Enum来获取图像,没有问题.

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

self.setThumbImage(image, forState: UIControlState.Normal)
Run Code Online (Sandbox Code Playgroud)

我已尝试使用下面的代码更改拇指图像大小但无法找到解决方案.

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)
Run Code Online (Sandbox Code Playgroud)

目前图像大约是40pt到40pt(它是一个圆圈).我希望图像在24pt到24pt左右.

此外,这是在XCode 7上的Swift 2中.我理解这些方法适用于iOS8.0或更高版本,这是我的部署目标.

Мор*_*орт 6

拇指将是您提供的图像的大小.要获得24pt乘24pt的拇指,你必须提供48px乘48px(和72x72 @ 3)图像.这也会影响滑块框架.

如果需要,您可以定义扩展以动态调整图像大小:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

这样你甚至可以做一些很酷的东西,比如有一个拇指生长和收缩的滑块,因为它接近最大值和最小值.