ios - 更改 UISlider thumbImage 的大小

标签 ios uiimage uikit swift2 uislider

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

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

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

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

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

我尝试使用下面的代码来更改缩略图大小,但找不到解决方案。

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 x 40pt(它是一个圆圈)。我希望图像大约为 24pt x 24pt。

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

最佳答案

缩略图将是您提供的图像的大小。 要获得 24pt x 24pt 的缩略图,您必须提供 48px x 48px(@3 为 72x72)的图像。这也会影响 slider 框架。

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

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;
    }
}

这样您甚至可以做一些很酷的事情,比如在 slider 接近最大值和最小值时让 slider 变大和变小。

关于ios - 更改 UISlider thumbImage 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33059624/

相关文章:

ios - 我如何快速出列一个单元格?

ios - 如何针对特定目标文件大小优化图像大小?

ios - NSData到UIImage的质量

ios - 在均匀分布的 UIBezierPath 上移动多个 UIImage

iphone - 如何使tableview的滚动条在比table框架更小的矩形中滚动?

iphone - 我可以查明应用权限何时更改吗?

ios - 如何在 animateWithDuration block 期间利用 UIView 的变化值?

ios - UIBarButton 渲染问题

ios - 错误EXC_BAD_ACCESS与scrollViewDidScroll

ios - 在其他两个 View 之间插入 View