Scrollwheel/trackpad scrolling for MacOS #5012
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goals ⚽
Allow for scrolling around the chart on MacOS using two-finger trackpad scrolling, which is a more natural interaction than having to click and drag.
Implementation Details 🚧
Being new to this library, I may not be doing this the most elegant way, but I added
override func scrollWheel(with:)toBarLineChartViewBase, and wrapped it with#if os(macOS). To implement the scrollWheel function, I mostly copiedpanGestureRecognized(_:), removing options that seemed specific to GestureRecognizer implementations, and replacing the translation and velocity calculations withNSEventversions. The end result is that you can pan around in the view using two-finger trackpad scrolling.Testing Details 🔍
I tested by using the
ChartsDemo-macOSapp in bothBarDemoViewControllerandLineDemoViewController, each with and withoutdragDecelerationEnabled, to zoom and scroll. It was very simple testing, but it seemed to work.