A SwiftUI ScrollView that only scrolls if the content doesn’t fit in the View


Requirements iOS 13+

Swift Package Manager

  1. In Xcode, open your project and navigate to File → Swift Packages → Add Package Dependency.
  2. Paste the repository URL ( and click Next.
  3. For Rules, select version.
  4. Click Finish.

Add as dependency to another package

.package(url: "", .upToNextMajor(from: "1.0.0"))

Manual installation

Copy /Sources/ScrollViewIfNeeded/ScrollViewIfNeeded.swift into your project


Import the ScrollViewIfNeeded package to your view:

import ScrollViewIfNeeded

use it like you would use ScrollView:

ScrollViewIfNeeded {
    /* your content */

or configure it the same way you would configure ScrollView:

ScrollViewIfNeeded(.horizontal, showsIndicators: false) {
    /* your content */


You can contribute to this project by helping me solve any reported issues or feature requests and creating a pull request.


If you just want to say thanks, you could buy me a coffee ☕️.


ScrollViewIfNeeded is released under the MIT License.


View Github