Skip to content

piemonte/Twinkle

Repository files navigation

Twinkle

Twinkle ✨

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.

Build Status Pod Version Carthage compatible Swift Version GitHub license

Requirements

  • iOS 15.0+ / tvOS 15.0+
  • Xcode 15.0+
  • Swift 5.9+

Quick Start

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")
    ]
)

Usage

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)

Community

Resources

License

Twinkle is available under the MIT license, see the LICENSE file for more information.

Packages

No packages published

Contributors 5