SciChart SCIRolloverModifier на кране - PullRequest
       9

SciChart SCIRolloverModifier на кране

0 голосов
/ 30 августа 2018

Я использую SciChart в приложении для iOS.

возможно ли показывать SCIRolloverModifier только при жесте касания? Я хочу избежать того факта, что при перетаскивании графика автоматически отображается ролловер.

Спасибо !!

1 Ответ

0 голосов
/ 05 февраля 2019

Теперь есть пример того, как это сделать в 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)
        }
    }

Это самый простой способ удалить опрокидывание с экрана, и он позволяет вам решить, когда вы хотите, чтобы он был удален или скрыт.

...