Skip to content

EasyLoader 1.0.0

Choose a tag to compare

@YN-Chen YN-Chen released this 06 Nov 13:53
· 1 commit to main since this release

The first release of EasyLoader: loading states for SwiftUI in one line, with no dependencies.

Full-screen loader

  • Show it with .easyLoaderFull(isPresented:message:style:)
  • Covers the whole screen and blocks touches while it's showing
  • Follows light and dark mode by default
  • Use a colour, image, material or custom view as the background
  • Use the system spinner, an SF Symbol, an image or a custom view as the indicator

Skeleton with shimmer

  • Add .easyLoaderSkeleton(isLoading:style:) to a container to turn its contents into placeholders
  • Choose a shimmer, pulse or static animation
  • Skeletons on screen stay in sync
  • Your views keep their @State when loading ends

Styling

  • Set app-wide or per-section styles with .easyLoaderFullStyle and .easyLoaderSkeletonStyle
  • Share styles as static let properties, including in Swift 6 apps

Accessibility

  • VoiceOver announces loading states
  • Reduce Motion replaces spinning and shimmering with a gentle fade

Requirements

  • iOS 17+ or macOS 14+
  • Xcode 16+ (Swift 6.0 tools)

Installation

Add this package URL in Xcode or your Package.swift:

https://github.com/YN-Chen/EasyLoader