SMScrollView for iOS

SMScrollView is a subclass of UIScrollView with the following additions:

  • It maintains the position of the view returned by its delegate's viewForZoomingInScrollView: in the center of its own boundaries.
  • It has a double-tap gesture to zoom in and out the view returned by its delegate's viewForZoomingInScrollView:. Specifically, when its zoomScale == minimumZoomScale, it zooms-in the view to the tapped point and to the scale defined by by the maximumZoomScale. Otherwise, when zoomScale > minimumZoomScale, it zooms-out to a scale defined by the minimumZoomScale. The double-tap gesture is available through the doubleTapGestureRecognizer property to disable or adjust the gesture behavior.
  • When its size is changed, for example due to a change in an interface orientation, then:
    1. If its fitOnSizeChange == YES, then its content is rescaled to fit its new size, up to the scale of 1.0, such that the content is never stretched.
    2. If fitOnSizeChange == NO, then it maintains zoomed view's center point in center after the size is changed. However, if stickToBounds property was set to YES and the scroll-view was scrolled to one of its boundaries before the size change, then it is kept at these boundaries instead of keeping the center point in center.

License: MIT

Language: Objective-C

Platform: iOS

Sponsored with ❤️ by Instabug
Instabug: Understand how your app is doing with real-time contextual insights from your users
Instabug

Get all the logs you need and fix bugs, crashes, and other issues in minutes instead of days. With Instabug you will automatically receive device data, network logs, and reproduction steps with every bug and crash report. It only takes a line of code to integrate and is perfect for teams that are now working remotely. See more detailed features comparison and try Instabug for free here.