STLoadingGroup
  • September 22, 2023

A Group of Loading Animations.

ScreenShot


Usage


let loadingGroup = let loadingGroup = STLoadingGroup(side: side, style: style)
loadingGroup.show(inView: view)
loadingGroup.startLoading()
// stop: loadnigGroup.stopLoading()

Custom

If you want to add your own loading:

​ 1.Comfirm STLoadingable and STLoadingConfigable protocol and implement required functions (there is a isLoading property left)

protocol STLoadingable {
var isLoading: Bool { get }

func startLoading()
func stopLoading()
}

protocol STLoadingConfig {
var animationDuration: TimeInterval { get }
var lineWidth: CGFloat { get }
var loadingTintColor: UIColor { get }
}

2.Append your loading style to STLoadingStyle in STLoadingGroup.swift file

enum STLoadingStyle: String {
case submit = “submit”
case glasses = “glasses”
case walk = “walk”
case arch = “arch”
case bouncyPreloader = “bouncyPreloader”
case zhihu = “zhihu”
case triangle = “triangle”
case pacMan = “pac man”
}

3.Add initializer for your loading: case .yourStyle: in STLoadingGroup

class STLoadingGroup {
fileprivate let loadingView: STLoadingable

init(side: CGFloat, style: STLoadingStyle) {

let bounds = CGRect(origin: .zero, size: CGSize(width: side, height: side))
switch style {
case .submit:
loadingView = STSubmitLoading(frame: bounds)
case .glasses:
loadingView = STGlassesLoading(frame: bounds)
case .walk:
loadingView = STWalkLoading(frame: bounds)
case .arch:
loadingView = STArchLoading(frame: bounds)
case .bouncyPreloader:
loadingView = STBouncyPreloaderLoading(frame: bounds)
case .zhihu:
loadingView = STZhiHuLoading(frame: bounds)
case .triangle:
loadingView = STTriangleLoading(frame: bounds)
case .pacMan:
loadingView = STPacManLoading(frame: bounds)
// insert your code here
}
}
}

GitHub


View Github

#loading #loadinganimations
YOU MIGHT ALSO LIKE...
PermissionsSwiftUI: A SwiftUI package to handle permissions

PermissionsSwiftUI displays and handles permissions in SwiftUI. It is largely inspired by SPPermissions. The UI is highly customizable and resembles an Apple style. ...

Pager tab strip view

Introduction PagerTabStripView is the first pager view built in pure SwiftUI. It provides a component to create interactive pager views ...

PageView

SwiftUI view enabling page-based navigation, imitating the behaviour of UIPageViewController in iOS.

Pages

    

How to take action when a property changes

1. Taking Action When a Property Changes: Property Observers Swift lets you observe and respond to changes in a property’s ...