- Notifications
You must be signed in to change notification settings - Fork36
This library for animating text. Developed with SwiftUI. This library supports iOS/macOS.
License
jasudev/AnimateText
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This library for animating text. Developed with SwiftUI. This library supports iOS/macOS.
AnimateText.mp4
https://fabulaapp.page.link/224
AnimateText
/// A view that animates binding text. Passing the effect type as a generic./// struct AnimateText<E> where E : ATTextAnimateEffect/// Binding the text to be expressed.@Statevartext:String="AnimateText"/// The type used to split text.@Statevartype:ATUnitType=.letters/// Custom user info for the effect.@StatevaruserInfo:Any?=nilAnimateText<CustomEffect>($text, type: type, userInfo: userInfo)
Each effect only needs to conform to the ATTextAnimateEffect protocol.
/// Custom animation effect.publicstructCustomEffect:ATTextAnimateEffect{publicvardata:ATElementDatapublicvaruserInfo:Any?publicinit(_ data:ATElementData, _ userInfo:Any?){self.data= dataself.userInfo= userInfo}publicfunc body(content:Content)->someView{ content.opacity(data.value).animation(.easeInOut.delay(Double(data.index)*0.06), value: data.value)}}
ATTextAnimateEffect protocol
/// A protocol to implement text animation effects.publicprotocolATTextAnimateEffect:ViewModifier{ /// Informational data required for each element animation.vardata:ATElementData{get} /// Custom user info for the effect. /// The effect maintains a strong reference to this object until it (the effect) is invalidated. This parameter may be nil.varuserInfo:Any?{get}init(_ data:ATElementData, _ userInfo:Any?)}
The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler. Once you have your Swift package set up, adding AnimateText as a dependency is as easy as adding it to the dependencies value of your Package.swift.
dependencies:[.package(url:"https://github.com/jasudev/AnimateText.git",.branch("main"))]
instagram :@dev.fabula
email :dev.fabula@gmail.com
AnimateText is available under the MIT license. See theLICENSE file for more info.
About
This library for animating text. Developed with SwiftUI. This library supports iOS/macOS.