I want to display the textfield changes in sliderView. I.e., when a user changes the value in the textfield the slider value should be updated. I'm using a RangeSlider with two thumbs.The slider value is set based on a webservice call. I'm storing the response in an appDelegate class and I'm fetching it. But the problem is in the UIControl class I'm fetching appdelgate values in beginTracking and EndTracking. These functions will be called only when I do some changes in slide(dragging). But on updating the textfield only the initialization part is called. How to fetch values from the appdelegate in init function?
class RangeSlider: UIControl {
var minimumValue = 0.0
var maximumValue = 100.0
var lowerValue = 0.0
var upperValue = 100.0
let trackLayer = CALayer()
let lowerThumbLayer = RangeSliderThumbLayer()
let upperThumbLayer = RangeSliderThumbLayer()
var previousLocation = CGPoint()
var thumbWidth: CGFloat {
return CGFloat(bounds.height)
}
override init(frame: CGRect) {
super.init(frame: frame)
trackLayer.backgroundColor = UIColor.yellow.cgColor
layer.addSublayer(trackLayer)
lowerThumbLayer.backgroundColor = UIColor.black.cgColor
layer.addSublayer(lowerThumbLayer)
upperThumbLayer.backgroundColor = UIColor.black.cgColor
layer.addSublayer(upperThumbLayer)
lowerThumbLayer.rangeSlider = self
upperThumbLayer.rangeSlider = self
updateLayerFrames()
}
}