Теперь есть пример того, как это сделать в SciChart iOS v2.x, в SciChart.iOS. Примеры Github-репозиторий
SciChart.iOS.Examples> v2.x> Песочница> LeaveRolloverOnScreen_Swift
Как это работает.
Существует класс с именем CustomRollover, который наследует SCIRolloverModifier. Это переопределяет onPanGesture и вызывает базовый класс onPanGesture (который удаляет ролловер на сенсорном конце), если действие жеста не завершено
class CustomRollover : SCIRolloverModifier {
override func onPanGesture(_ gesture: UIPanGestureRecognizer!, at view: UIView!) -> Bool {
if (gesture.state != .ended) {
return super.onPanGesture(gesture, at: view)
}
return true ;
}
}
На главном экране есть кнопка, которая добавляет ролловер к диаграмме и удаляет его, добавляя / удаляя CustomRollover из коллекции SCIChartSurface.ChartModifiers.
let button = UIButton(frame: CGRect(x: 100, y: 5, width: 200, height: 50))
button.setTitle("Add/Remove Rollover", for: .normal)
button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)
self.addSubview(button)
@objc func buttonAction(sender: UIButton!) {
rollover.isEnabled = !rollover.isEnabled
if (rollover.isEnabled) {
self.chartModifiers.add(rollover)
} else {
self.chartModifiers.remove(rollover)
}
}
Это самый простой способ удалить опрокидывание с экрана, и он позволяет вам решить, когда вы хотите, чтобы он был удален или скрыт.