ConfettiKit is a custom framework used to add Confetti on your iOS/iPadOS projects. The kit provides variety of customisations inorder to design a confetti which matches your project's UI. ConfettiKit makes your work of adding Confetti on your project with just one line of code.

Playground ?

  • I've provided a demo project to showcase few examples of Confetti's which can be made. Simply clone this repo, and open ConfettiKit.xcworkspace.
  • Run pod install.
  • Here you can see and experiment custom Loaf styles in Examples.swift.

Requirements ❕

  • Device running on iOS/iPadOS 12.1+ versions ?.
  • Swift 5.4+ ?

Installation ?

ConfettiKit is available through CocoaPods.
To install it, simply add the following line to your Podfile:

pod 'ConfettiKit'

No CocoaPods❗️

I have a solution ?
  • Add this Confetti.swift file into your project.
  • Now you are ready to use ConfettiKit ?.
  • Remaining steps are same ?.
  • Do read the documentation till the end to know more about ConfettiKit ??

Usage ⚙️

  1. Import Library ?
import ConfettiKit
  1. Generate Confetti ?
  • Write this one line of code and add the parameters according to your specifications.
Confetti.generateConfetti(ConfettiPosition:Position, ConfettiCells:Int, ConfettiImage:[String], Colours:[UIColor], Scale:CGFloat ,BirthRate: Float, LifeTime:Float, Velocity:CGFloat, Spin:CGFloat, EmissionLongitude:CGFloat = CGFloat(Double.pi), EmissionRange:CGFloat, View: UIView)

Parameters ?

Parameter Definition
ConfettiPosition Position from which confetti Starts
ConfettiCells Total types of confetti element
ConfettiImage Image to apply on every Cells
Colours Colour to apply on every Cells
Scale Size of cell
BirthRate Cells produced in a sec
Parameter Definition
LifeTime Total existence of a cell
Velocity Speed of cell
Spin Rotation velocity of cell
EmissionLongitude longitudinal orientation of the emission angle
EmissionRange Angle(radians), defining a cone around the emission angle
View View on which Confetti is to be applied

Result ?

Customization 1 Customization 2 Customization 3