Twinkle is a Swift and easy way to make any UIView in your iOS or tvOS app twinkle.
This library creates several CAEmitterLayers and animates them generating a sparkle effect.
A version of Twinkle is also available for Android.
If you like Twinkle, you may also like Burst.
- iOS 15.0+ / tvOS 15.0+
- Xcode 15.0+
- Swift 6.0+
Twinkle is available and recommended for installation using the Cocoa dependency manager CocoaPods. You can also simply copy the Twinkle.swift file into your Xcode project.
# CocoaPodspod"Twinkle","~> 0.7.0"# SwiftPMletpackage=Package(dependencies: [.package(url: "https://github.com/piemonte/Twinkle",from: "0.7.0")])The sample project provides an example of how to integrate Twinkle, otherwise you can follow this example.
import Twinkle// Basic usage with UIView extension
letview=UIView(frame:CGRect(x:0, y:0, width:150, height:50))self.view.addSubview(view)
view.twinkle()
// With custom configuration
varconfig=Twinkle.Configuration()
config.minCount =10
config.maxCount =20
config.birthRate =12
config.scale =0.8
view.twinkle(configuration: config)
// With custom image
letcustomImage=UIImage(named:"star")
view.twinkle(image: customImage)
// Using the static method
Twinkle.twinkle(myView, configuration: config)- Found a bug? Open an issue.
- Feature idea? Open an issue.
- Want to contribute? Submit a pull request.
- Core Animation Reference Collection
- Swift Evolution
- CAEmitterLayer – NSHipster
- Twinkle for Android
- Burst
- Shimmer
- Blurry
Twinkle is available under the MIT license, see the LICENSE file for more information.
