更改 UISlider thumbImage 的大小
Posted
技术标签:
【中文标题】更改 UISlider thumbImage 的大小【英文标题】:Change the size of a UISlider thumbImage 【发布时间】:2015-10-10 22:30:17 【问题描述】:如何更改用作 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 或更高版本,这是我的部署目标。
【问题讨论】:
【参考方案1】:拇指将是您提供的图像的大小。 要获得 24pt x 24pt 的拇指,您必须提供 48px x 48px(@3 为 72x72)图像。这也会影响滑块框架。
如果需要,您可以定义一个扩展来动态调整图像大小:
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;
这样你甚至可以做一些很酷的事情,比如在滑块接近最大值和最小值时,拇指会增长和缩小。
【讨论】:
感谢您的回答。我感谢您的帮助,但就增长和缩小而言,我认为这不是好的 UI。只是一个意见。以上是关于更改 UISlider thumbImage 的大小的主要内容,如果未能解决你的问题,请参考以下文章