- April 27, 2024
- Mins Read
A Group of Loading Animations.
let loadingGroup = let loadingGroup = STLoadingGroup(side: side, style: style)
loadingGroup.show(inView: view)
loadingGroup.startLoading()
// stop: loadnigGroup.stopLoading()
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
}
}
}
Horizon SDK is a state of the art real-time video recording / photo shooting iOS library. Some of the features ...