Swiftpack.co -  ChimeHQ/ScrollViewPlus as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
ChimeHQ/ScrollViewPlus
A more pleasant NSScrollView experience
.package(url: "https://github.com/ChimeHQ/ScrollViewPlus.git", from: "0.1.1")

Carthage compatible

ScrollViewPlus

ScrollViewPlus is a small library that provides some helpful extension and capabilities for working with NSScrollView.

Integration

Swift Package Manager

dependencies: [
    .package(url: "https://github.com/ChimeHQ/ScrollViewPlus.git")
]

Carthage

github "ChimeHQ/ScrollViewPlus"

Classes

ScrollViewVisibleRectObserver

Simple class to monitor the user-visible portion of an NSScrollView document view.

ObservableScroller

An NSScroller subclass that makes it possible to determine the overlay style's slot thickness and detect changes to it.

ScrollerOverlayObserver

A class that can be used to observe the scroller overlay size and visibily changes. This makes use of some heuristics that aren't perfect, but the end result is quite good. Must be used in combination with ObservableScroller, but does not enforce an NSScrollView subclass requirement.

OverlayOnlyScrollView

A very simple NSScrollView subclass that will always use overlay style scrollers, regardless of user prefs or input device types.

###PositionJumpingWorkaroundScrollView

A class that works around a pretty esoteric problem:

The scroll-position jumping will occur if this view contains an NSTextView and:

  • non-contiguous layout enabled for the NSTextView's NSLayoutManager
  • there are actual non contiguous blocks in the layout
  • the NSTextView is configured so text does not wrap to the view's bounds
  • there are at least some lines of text that are actually larger than the view's bounds
  • the containing NSScrollView has a vertical ruler present
  • the pointing device is a trackpad

Suggestions or Feedback

We'd love to hear from you! Get in touch via twitter, an issue, or a pull request.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

GitHub

link
Stars: 9
Last commit: 4 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

v0.1.1
4 weeks ago
  • Correct a block capture
  • Tweak a bunch of timings
  • Add a number of missing open/public

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API