- August 12, 2025
- Mins Read
SnapTimer is a custom UIView that behaves exactly the same as the one on Snapchat’s stories.
Swift 3.0 Support on master branch! 👌👌
Swift 2.3 Support on Swift2.3.
A picture is worth a thousand words
You can just clone the repo and copy the SnapTimer
folder to your project or you can use one of the following options:
pod ‘SnapTimer’
Then:
import SnapTimer
And you are all set!
Add a UIView
to your Storyboard.
Select the view, go to the Identity Inspector
and set the class to SnapTimerView
Create an @IBOutlet
in your view controller and that’s it.
SnapTimerView
implements @IBDesignable
so the view should automatically render in your Interface Builder. Also it implements @IBInspectable
for the view properties:
That’s it!
innerValue and outerValue ranges go from 0 to 100.
To set values without animations you just have to:
self.snapTimerView.outerValue = 25 self.snapTimerView.innerValue = 50

* To animate values:
“`swift
self.snapTimerView.animateOuterValue(50)
self.snapTimerView.animateInnerValue(25)
To animate values setting the time and a completion handler:
self.snapTimerView.animateOuterToValue(50, duration: 30) {
puts(“Done!”)
}
self.snapTimerView.animateInnerToValue(100, duration: 30) {
puts(“Done!”)
}
if your app goes to background or the Notifications/Control center are opened you may want to pause the animations, to do that SnapTimer has two handy methods:
self.snapTimerView.resumeAnimation()
self.snapTimerView.pauseAnimation()
Hey, If you have cool ideas to add to this please feel free to send a PR! Also if you are using this in your app and what to let me know I’ll be happy to add a section here with the apps currently using this!
Recognize your user's voice elegantly without having to figure out authorization and audio engines. SwiftSpeech Examples Features Installation Getting Started ...
Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements iOS 14.0 Installation ...
SlidingRuler is a Swift package containing a SwiftUI control that acts like an linear infinite slider or a finite, more precise ...
SkeletonUI aims to bring an elegant, declarative syntax to skeleton loading animations. Get rid of loading screens or spinners and ...