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 5.9+
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.6.0"
# Carthage
github "piemonte/Twinkle" ~> 0.6.0
# SwiftPM
let package = Package(
dependencies: [
.package(url: "https://github.com/piemonte/Twinkle", from: "0.6.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.