Skip to content

shu223/Pulsator

Repository files navigation

Pulsator

License X (formerly Twitter)

Pulse animation for iOS and macOS, usable from both UIKit and SwiftUI.

Pulsator demo

Great For:

  • Pulses of Bluetooth, BLE, beacons (iBeacon), etc.
  • Map Annotations

Installation

Swift Package Manager

In Xcode, choose File → Add Package Dependencies… and enter this repository's URL:

CocoaPods (deprecated)

Add into your Podfile.

pod "Pulsator"

Then $ pod install

How to use

SwiftUI

Just 1 line! Add the .pulsator() modifier to any view.

yourView
    .pulsator()

UIKit

Initiate and add to your view's layer, then call start!

let pulsator = Pulsator()
view.layer.addSublayer(pulsator)
pulsator.start()

Customizations

SwiftUI example:

yourView
    .pulsator(
        numPulse: 3,
        radius: 240,
        animationDuration: 5,
        color: pulseColor,
        isPulsating: isPulsating
    )

Number of Pulses

Use numPulse property.

pulsator.numPulse = 3

Radius

Use radius property.

pulsator.radius = 240.0

Color

Just set the backgroundColor property.

pulsator.backgroundColor = UIColor(red: 1, green: 1, blue: 0, alpha: 1).cgColor

Animation Duration

Use following properties

  • animationDuration : duration for each pulse
  • pulseInterval : interval between pulses

Easing

You can set the timingFunction property.

Repeat

Use repeatCount property.

Demo

Try changing the radius, backgroundColor or other properties with the demo apps.

  • SwiftUI: Example/SwiftUI/PulsatorDemo.xcodeproj
  • UIKit: Example/UIKit/PulsatorDemo.xcodeproj

macOS support

Add into your Podfile, then run pod install.

platform :osx, '10.9'

target 'Pulsator' do
  use_frameworks!
  pod "Pulsator"
end

The usage is same as iOS.

let pulsator = Pulsator()
view.layer?.addSublayer(pulsator)
pulsator.start()

Objective-C version

There is an ObjC version, but it's not maintained now.

You can use Pulsator also with Objective-C.

#import "Pulsator-Swift.h"

Author

Shuichi Tsutsumi

iOS freelancer in Japan. Welcome works from abroad!

Support via PayPal

About

Pulse animation for iOS

Topics

Resources

License

Stars

1.4k stars

Watchers

21 watching

Forks

Packages

 
 
 

Contributors