                 self.value = Double(1 - s) * (maxValue - minValue) + minValue
             }
         }
+        
         self.sendActions(for: .valueChanged)
     }
-    
-    public override func beginTracking(_ touch: UITouch, with event: UIEvent?) -> Bool {
-        
-        self.sendActions(for: .touchDown)
-        
-        let location = touch.location(in: self)
-        
-        let minSize = Swift.min(bounds.width, bounds.height)
-        let hitTestMinSize = CGSize(width: minSize, height: minSize)
-        
-        let thumbViewHitBox = thumbView.frame.union(CGRect(origin: thumbView.frame.origin, size: hitTestMinSize))
-        let thumbViewHitBoxCenterOffsetX = thumbView.frame.midX - thumbViewHitBox.midX
-        let thumbViewHitBoxCenterOffsetY = thumbView.frame.midY - thumbViewHitBox.midY
-        
-        if thumbViewHitBox.offsetBy(dx: thumbViewHitBoxCenterOffsetX, dy: thumbViewHitBoxCenterOffsetY).contains(location) {
-            thumbView.isHighlighted = true
-            locateAndUpdateValue(location: location)
-        } else if trackTouchRespond {
-            let trackViewHitBox = trackView.frame.union(CGRect(origin: trackView.frame.origin, size: hitTestMinSize))
-            let trackViewHitBoxCenterOffsetX = trackView.frame.midX - trackViewHitBox.midX
-            let trackViewHitBoxCenterOffsetY = trackView.frame.midY - trackViewHitBox.midY
-            if trackViewHitBox.offsetBy(dx: trackViewHitBoxCenterOffsetX, dy: trackViewHitBoxCenterOffsetY).contains(location) {
-                thumbView.isHighlighted = true
-                locateAndUpdateValue(location: location)
-            }
-        }
-        
-        return thumbView.isHighlighted
-    }
-    public override func continueTracking(_ touch: UITouch, with event: UIEvent?) -> Bool {
-        locateAndUpdateValue(location: touch.location(in: self))
-        return true
-    }
-    public override func endTracking(_ touch: UITouch?, with event: UIEvent?) {
-        if let touch = touch {
-            locateAndUpdateValue(location: touch.location(in: self))
-        }
-        thumbView.isHighlighted = false
-    }
-}
+}

        }
        return trackImage!.size.height
    }
    
    private func updateMinTrackView() {
        minTrackView.image = minTrackImage

    
    public override init(frame: CGRect) {
        super.init(frame: frame)
        self.setup()
    }
    
    public required init?(coder: NSCoder) {
        super.init(coder: coder)
        self.setup()
    }
    
    private func setup() {
        
        let tap = UITapGestureRecognizer(target: self, action: #selector(handleTapGesture))
        tap.numberOfTapsRequired = 1
        tap.numberOfTouchesRequired = 1
        
        let pan = UIPanGestureRecognizer(target: self, action: #selector(handlePanGesture))
        
        pan.require(toFail: tap)
        
        addGestureRecognizer(tap)
        addGestureRecognizer(pan)
        
        self.addSubview(minTrackView)
        self.addSubview(maxTrackView)
        self.addSubview(trackView)
