Skip to content

This is a portable framework with many preset loading indicators created using SwiftUI!

License

Notifications You must be signed in to change notification settings

DevLiuSir/LCActivityIndicator

Repository files navigation

 LCActivityIndicator is a portable framework with many preset loading indicators created using SwiftUI!

Swift Versions Supported Platforms


中文 | English

Design

Usage

public enum LCIndicatorType {
    case `default`(count: Int)
    case threeBallsRotation(Color, size: CGFloat)
    case threeBallsTriangle(Color, size: CGFloat)
    case threeBallsBouncing(Color, size: CGFloat, speed: CGFloat)
    case doubleHelix(Color, size: CGFloat, count: Int)
    case arcs(count: Int, lineWidth: CGFloat)
    case rotatingDots(count: Int)
    case flickeringDots(count: Int)
    case scalingDots(count: Int, spacing: Int)
    case audioWaveEqualizer(Color, count: Int)
    case equalizer(count: Int)
    case growingArc(Color, lineWidth: CGFloat)
    case pulseCircle
    case accordion(count: Int)
    case gradient(colors: [Color], lineCap: CGLineCap, lineWidth: CGFloat)
}
  • Default type, passing the number of points
LCActivityIndicator(isVisible: $isAnimate, type: .default(count: 8))
  • Three points rotating animation
LCActivityIndicator(isVisible: $isAnimate, type: .threeBallsRotation(.black, size: 50))
  • Three points forming a triangle rotating animation
LCActivityIndicator(isVisible: $isAnimate, type: .threeBallsTriangle(.black, size: 50))
  • Three points bouncing vertically
LCActivityIndicator(isVisible: $isAnimate, type: .threeBallsBouncing(.black, size: 50, speed: 0.5))
  • Double helix animation
LCActivityIndicator(isVisible: $isAnimate, type: .doubleHelix(.black, size: 150, count: 10))
  • Arc-shaped indicator, creating multiple arcs
LCActivityIndicator(isVisible: $isAnimate, type: .arcs(count: 3, lineWidth: 2))
  • Rotating dot indicator, multiple dots rotating
LCActivityIndicator(isVisible: $isAnimate, type: .rotatingDots(count: 5))
  • Flickering dot indicator, dots flickering in change
LCActivityIndicator(isVisible: $isAnimate, type: .flickeringDots(count: 8))
  • Scaling dot indicator, dots scaling in and out
LCActivityIndicator(isVisible: $isAnimate, type: .scalingDots(count: 3, spacing: 2))
  • Music waveform equalizer, dynamic equalizer based on sound frequencies
LCActivityIndicator(isVisible: $isAnimate, type: .audioWaveEqualizer(.black, count: 6))
  • Equalizer indicator, showing dynamic bars like audio frequencies
LCActivityIndicator(isVisible: $isAnimate, type: .equalizer(count: 6))
  • Growing arc indicator, arcs growing continuously
LCActivityIndicator(isVisible: $isAnimate, type: .growingArc(.black, lineWidth: 10))
  • Pulse circle indicator, the circle changes over time
LCActivityIndicator(isVisible: $isAnimate, type: .pulseCircle)
  • Accordion indicator, multiple bars bouncing at different heights
LCActivityIndicator(isVisible: $isAnimate, type: .accordion(count: 5))
  • Gradient indicator, circular gradient effect
LCActivityIndicator(isVisible: $isAnimate, type: .gradient(colors: [.white, .black], lineCap: .round, lineWidth: 10))

Install

SwiftPackage

Add https://github.com/DevLiuSir/LCActivityIndicator.git in the “Swift Package Manager” tab in Xcode.

License

MIT License

Copyright (c) 2025 Marvin

Author

DevLiuSir

Software Engineer

About

This is a portable framework with many preset loading indicators created using SwiftUI!

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages