I'm using UISlider
in swift to show slider on my app. Is there a way by which we can increase the width of the slider ?
I have tried to transform the slider using CGAffineTransform
. But this also increases the thumb size.
testslider.transform = CGAffineTransform(rotationAngle: CGFloat(-Double.pi / 2))
I just need to increase width of the slider line but not the thumb size. Is there any way we can do that? Please suggest.
Try the following code
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
)
}
}