如何保持 UISlider 拇指小但分辨率更高的照片?

Posted

技术标签:

【中文标题】如何保持 UISlider 拇指小但分辨率更高的照片?【英文标题】:How can I keep a UISlider thumb small but with a higher res photo? 【发布时间】:2019-07-18 18:24:02 【问题描述】:

我正在尝试调整 UISlider 拇指的大小。我遇到的唯一方法是为其分配一个很小的自定义图像。这很好用,但是图像中的圆圈非常小,分辨率非常低。如何在音乐中获得与 UISlider 相同的效果而不让它看起来褪色?

我已将其设置为较小的图像。

我通过带有自定义类的界面构建器进行设置。

@IBDesignable
class Slider_Design: UISlider 
    @IBInspectable var thumbImage: UIImage? 
        didSet 
            setThumbImage(thumbImage, for: .normal)
        
    

【问题讨论】:

原图是什么样子的? 它只是一个 20x20 的小圆圈。这是我唯一能找到的尝试。每当您添加更大的图标以提高质量时,拇指就会变大@matt 是的,但是这个 20x20 的小圆圈是什么样子的?你看到的是抗锯齿。我正在尝试确定这是否是图像特有的。我用作滑块拇指的图像看起来像图像。 @matt 好的,我编辑了我的问题并添加了图片 嗯,您添加的图像在外部进行了非常严重的抗锯齿处理。你投入什么,你就会得到什么。使用任何图像编辑器打开它并缩放它,您可以看到它。所以我无法弄清楚问题是什么;您提供的图像是被绘制为拇指的图像。在我看来,您想要的是从 large 图像开始并缩小它以供拇指使用。 【参考方案1】:

看来您的问题实际上类似于:我有一个更大的 UIImage(例如 60x60),我想将其调整/缩小/缩小为更小的图像(例如 20x20)。

应该是这样的:

let sz = CGSize(width:20, height:20)
let r = UIGraphicsImageRenderer(size:sz)
let reducedImage = r.image  _ in
    UIImage(named:"whatever")?.draw(in:CGRect(origin:.zero, size:sz))

【讨论】:

以上是关于如何保持 UISlider 拇指小但分辨率更高的照片?的主要内容,如果未能解决你的问题,请参考以下文章

在 UISlider 中增加拇指“点击区域”

如何获取 UISlider 拇指位置

自定义 UISlider 拇指图标:如何阻止拇指图标在拖动时恢复为默认圆形图标?

如何读取 UISlider 拇指图像的大小

查找时如何更改 UISlider 拇指的大小

如何以编程方式更改 UISlider 拇指图像的大小