Я реализую UIControl, используя UIScrollView.Я хочу отправить событие .valueChanged, когда пользователь прокручивает представление прокрутки пальцем, а не иначе.Для этого мне нужно сравнить значение currentValue, которое я вычисляю, когда происходит прокрутка, и, если оно отличается от предыдущего значения, я отправляю событие .valueChanged через API sendActionsForControlEvents.Мои вопросы:
(a) Какой самый надежный способ во всех случаях знать, что пользователь перетаскивал представление прокрутки (прокрутка также может происходить в моем коде с использованием автоматического API) - scrollView.isDragging или scrollView.isTrackingили и то, и другое?
(б) Каким образом можно заметить изменение в currentValue (без сохранения предыдущего значения)?Я делаю это с помощью Swift 4, но, похоже, оно не дает старого значения:
private(set) public var currentValue = Int(0) {
willSet (newValue) {
NSLog("Old value \(currentValue), new \(newValue)")
}
}