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.
Swift Version Platform SPM Compatible Pod Version GitHub license
- 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.
# CocoaPods pod "Twinkle", "~> 0.7.0" # SwiftPM let package = 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 let view = UIView(frame: CGRect(x: 0, y: 0, width: 150, height: 50)) self.view.addSubview(view) view.twinkle() // With custom configuration var config = Twinkle.Configuration() config.minCount = 10 config.maxCount = 20 config.birthRate = 12 config.scale = 0.8 view.twinkle(configuration: config) // With custom image let customImage = 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.