Я создал свой собственный слайдер, создав подкласс UIControl, а затем создал собственный большой палец, но проблема возникает, когда я пытаюсь удерживать большой палец, чтобы переместить его, я должен держать большой палец в определенном месте, чтобы иметь возможность менять слайдерЗначение Я поместил два изображения на то, как мой слайдер выглядит в симуляторе и как выглядит в иерархии представления отладки, как вы можете видеть из первого изображения, мой большой палец находится вне досок слайдера, что я и хочу, но я могу только перемещатьчасть, которая отображается в иерархии видов, и это не то, что мне нужно, как я могу сделать сенсорный большой палец за пределами границ ползунка, и я хотел бы отметить, что я установил ширину ползунка равной 20
мой код слоя Thumb
class RangeSliderThumbLayer: CALayer {
override func draw(in ctx: CGContext) {
let thumbFrame = bounds.insetBy(dx: 4.0, dy: 4.0)
let thumbPath = UIBezierPath(roundedRect: thumbFrame, cornerRadius: 0)
// Fill - with a subtle shadow
let shadowColor = UIColor.clear.cgColor
ctx.setFillColor(UIColor.gray.cgColor)
ctx.addPath(thumbPath.cgPath)
ctx.fillPath()
ctx.setStrokeColor(shadowColor)
ctx.setLineWidth(0.5)
ctx.addPath(thumbPath.cgPath)
ctx.strokePath()
}
}
и в моем классе RangeSlider я устанавливаю слои
rangeSliderThumbLayer = CGRect(x:thumbCenter, y: -(thumbImage.size.height * 2 ) / 3,
width: thumbImage.size.width, height: thumbImage.size.height)
rangeSliderThumbLayer.setNeedsDisplay()