【发布时间】:2017-08-03 06:18:13
【问题描述】:
我想在sliderView 中显示文本字段的变化。即,当用户更改文本字段中的值时,应更新滑块值。我正在使用带有两个拇指的 RangeSlider。滑块值是根据 Web 服务调用设置的。我将响应存储在 appDelegate 类中,并且正在获取它。但问题出在 UIControl 类中,我在 beginTracking 和 EndTracking 中获取 appdelgate 值。仅当我在幻灯片中进行一些更改(拖动)时才会调用这些函数。但是在更新文本字段时,只会调用初始化部分。如何在 init 函数中从 appdelegate 中获取值?
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()
}
}
【问题讨论】:
标签: swift rangeslider