Wraps your custom view and presents it on the screen in the way it fills visible area (not covered by navigation bar, keyboard etc.). If your custom view is too big, you will be able to scroll the content thanks to embedded UIScrollView.
Starting from version v1.1.0, ScrollViewController does no longer depends on KeyboardFrameChangeListener and ScrollViewKeyboardAvoider frameworks, which makes it more portable and easier to integrate. That change also makes those frameworks obsolete.
KeyboardFrameChangeListener is used to observe keyboard frame changes and then
adjust insets using ScrollViewKeyboardAvoider so the keyboard does not cover the content. Supports "safe area layout" and makes the content fill visible area.
Designed to work on iPhone (including iPhone X) in portrait orientation (should also support other screen orientations as well as iPad screen).
Minimum deployment target: iOS 10.0 (on iOS >= 11 uses Safe Area Layout for iPhone X compatibility).
Last version developed using Swift 4.2 is v1.0.12.
ScrollViewController is compatible with Swift Package Manager. You can add it as a dependency to your Xcode project or swift package.
You can integrate ScrollViewController with your project using CocoaPods. Just add this line to your Podfile:
pod 'ScrollViewController', '~> 1.3'You can also use Carthage if you prefer by adding following line to your Cartfile:
github "darrarski/ScrollViewController" ~> 1.3
Example can be found in DemoApp.
TL;DR
let yourContentView: UIView
let scrollViewController = ScrollViewController()
scrollViewController.contentView = yourContentViewRequirements:
To bootstrap the project run:
bundle installThen open ScrollViewController.xcodeproj in Xcode.
Use DemoApp build scheme for building and runing demo app.
Use Tests build scheme for runing tests.
To lint the pod run:
bundle exec pod lib lint --allow-warningsTo deploy the pod run:
bundle exec pod trunk push --allow-warningsCopyright © 2022 Dariusz Rybicki Darrarski

