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 withNSEvent
versions. 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-macOS
app in bothBarDemoViewController
andLineDemoViewController
, each with and withoutdragDecelerationEnabled
, to zoom and scroll. It was very simple testing, but it seemed to work.