我正在快速使用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
)
}
}