How to make a Countdown Timer in iOS using Swift

How to make a Countdown Timer in iOS using Swift

Today, I will show how to build a timer that count down until an event (e.g. new year’s day or release date of a video game) using the scheduledTimer of the Timer class to refresh it every second.

First, we set the current date using the calendar user use on their device.

We set the event time we want:

If an event is happening at a particular time (e.g. Worldwide premiere of a video game release starts at 8:00PM GMT) we can add the time zone alongside with the date of this event.

We convert the event date to the user’s calendar:

We change the seconds to days, hours, minutes and seconds:

…and we display the results into our label:

Last, we add the Timer in our viewDidLoad(), and set it to repeat the function every second:

If you want to change the label after the event has passed, you can do this by checking if the current date is after the event. If yes, then will stop the timer and show the text.

So at the end, our ViewController looks like this:

You can find the final project here

If you have any questions feel free to DM me on Twitter @johncodeos or leave a comment below!

Leave a Reply

Notify of

Follow me


Subcribe for weekly emails! Get my posts of the week right in your inbox!