Skip to content

Releases

EasyLoader 1.0.1

Choose a tag to compare

@YN-Chen YN-Chen released this 06 Nov 14:16

Softer shimmer

The skeleton shimmer now looks like a soft sweep of light instead of a moving stripe.

  • Fixed the hard edges on the shimmer band
  • The band now fades in and out along a smooth curve
  • New defaults: bandWidth is now 0.7 (was 0.3) and dimmedOpacity is now 0.5 (was 0.4)

To keep the previous width and contrast, set those two values in your SkeletonStyle. The hard edges won't come back.

EasyLoader 1.0.0

Choose a tag to compare

@YN-Chen YN-Chen released this 06 Nov 13:53

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