我正在快速使用UISlider在我的应用程序上显示滑块。有没有一种方法可以增加滑块的宽度?

我尝试使用CGAffineTransform转换滑块。但这也会增加拇指的大小。

testslider.transform = CGAffineTransform(rotationAngle: CGFloat(-Double.pi / 2))

我只需要增加滑块线的宽度,而不是拇指大小。有什么办法可以做到吗?请提出建议。

最佳答案

试试下面的代码

    open class CustomSlider : UISlider {
    @IBInspectable open var trackWidth:CGFloat = 2 {
        didSet {setNeedsDisplay()}
    }

    override open func trackRect(forBounds bounds: CGRect) -> CGRect {
        let defaultBounds = super.trackRect(forBounds: bounds)
        return CGRect(
            x: defaultBounds.origin.x,
            y: defaultBounds.origin.y + defaultBounds.size.height/2 - trackWidth/2,
            width: defaultBounds.size.width,
            height: trackWidth
        )
    }
}

10-08 11:59