iOS 自定义 UISlider 的 trackRect
自定义 slider 需要定义 UISlider 的子类,然后重写下面两个方法
public class LQTimeSlider: UISlider {
override open func trackRect(forBounds bounds: CGRect) -> CGRect {
let trackHeigt:CGFloat = 2
let position = CGPoint(x: 0 , y: 15)
let customBounds = CGRect(origin: position, size: CGSize(width: bounds.size.width, height: trackHeigt))
super.trackRect(forBounds: customBounds)
return customBounds
}
override open func thumbRect(forBounds bounds: CGRect, trackRect rect: CGRect, value: Float) -> CGRect {
var newRect = rect
newRect.origin.x -= 10
newRect.origin.y += 1
newRect.size.width += 20
return super.thumbRect(forBounds: bounds, trackRect: newRect, value: value).insetBy(dx: 10, dy: 10)
}
}
复制代码