Увеличение ширины слайдера: swift - PullRequest
0 голосов
/ 04 января 2019

Я использую UISlider в быстром, чтобы показать слайдер в моем приложении.Есть ли способ, которым мы можем увеличить ширину слайдера?

Я попытался преобразовать ползунок, используя CGAffineTransform.Но это также увеличивает размер большого пальца.

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

Мне просто нужно увеличить ширину ползунка, но не размер большого пальца.Есть ли способ, которым мы можем это сделать?Пожалуйста, предложите.

1 Ответ

0 голосов
/ 04 января 2019

Попробуйте следующий код

    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
        )
    }
}
...