Best Stopwatch and Timer Apps for iPhone


Contents [show]
  • What's missing from Apple's native app?
  • Use These Exercise Apps Timer Plus - Workout Timer
  • HIIT and Tabata: Fitness App
  • Interval timer
  • Tabata wod and HIIT stopwatch
  • Zero - HIIT and Tabata
  • Tabata Timer Stopwatch
  • Traditional stopwatch and timer apps
      Timer +
  • Stopwatch Focus
  • Focusi: training stopwatch
  • Timer flip - Timer
  • Which app is the best?
  • What's missing from Apple's native app?

    Actually, like iOS and iPadOS, there is no special application exclusively for the stopwatch and timer, since they are located in the Clock application. This is why the features offered to users are quite limited for users who want to take it a step further.

    With the clock app you can barely get away with timing different intervals or setting a timer for a specific duration, something that doesn't handle many things like being able to set a timer divided into different parts of different durations, which is very useful for those users who want do exercises or even set a study schedule. Therefore, below we offer a series of applications with which you can add all these previously described functions.

    How to take a photo on iPhone 16 9?

    to do it

    : open “Camera”, expand the quick settings menu by swiping up from the bottom edge of the screen, click on the button to change the aspect ratio, select the option “
    16
    :
    9
    ».

    Interesting materials:

    How to completely disable the Starline a93 alarm system? How is the Rh factor obtained in a child? How did the lemon turn out? How to use succinic acid for plants? How to use iCloud on Android? How to use a calculator on the keyboard? How to use a Chinese mini camera? How to use a berry harvester? How to use emergency contacts? How to use the SQ11 mini camera?

    Use These Exercise Apps

    One of the most common uses of timers and stopwatches is in exercise, especially routines where you have to perform a series of exercises at a specific time, commonly known as Tabata. The following apps have all the features you need to complete your daily tasks in the most convenient and organized way.

    Timer Plus - Workout timer

    This app is perfect for doing a HIIT workout in which you need to pre-time each of the exercises that you have to do. What stands out is how easy it is designed to be used and how well it is implemented to help all users get through their high-intensity workouts seamlessly, whether at home, at the gym or in the park.

    Has the ability to display the number and duration of all rounds and cycles, interval timer, information flash on the screen . Obviously, you can create an infinite number of timers and save them in your exercise history so they're ready when you want to start working out. It even has a voice prompt that will inform you of key timer points.

    Timer Plus - Workout timer

    Developer: VGFIT LLC

    HIIT and Tabata: Fitness App

    HIIT & Tabata is one of the most popular apps in the App Store to be able to set different timers and organize your workout. With it, you can set up your HIIt workouts, keeping track of your times, streaks and cycles so you're in complete control and can perform your workouts in the best possible way.

    Plus, all the workouts you do can be saved in the app, saving you from having to set the time you want to train from scratch every day. It also has sync with Apple Health , that is, using your iPhone's health app, so you can check your activities later.

    HIIT and Tabata: Fitness App

    Developer: Grizzly Inc.

    Interval timer

    If you are looking for an app based on a simple and aesthetic interval timer , this is one of the best options that you can find in the Apple app store. All you have to do is drag and drop to set custom workout intervals, rest intervals, and the different rounds and circuits you want to complete.

    This timer will never interfere with the playback of music you play through another application. Hence, you can easily listen to music while you work out , and you will also have voice prompts and beeps for every workout you want to do. You can even exit the app and you will continue to receive alerts relevant to your workout.

    Interval timer □

    Developer: Float Tech, LLC

    Tabata wod and HIIT stopwatch

    We continue to talk about applications that will allow you to have on your iPhone a timer designed and developed specifically for high intensity interval training , that is, so that you can train hard wherever you are, and only with the help of your iPhone, which will mark everything your exercise and rest time.

    With this app, you will be able to set the different rounds you want to perform for each exercise, the time at which you will perform the exercise, and the cycles you will perform. Plus, many of the workouts recommended by the app itself already come with their own time slots, so even if you don't want to be the one preparing the workout yourself, this app will give you those.

    Tabata wod and HIIT stopwatch

    Developer: Alexander Senin

    Zero - HIIT and Tabata

    Zero is the interval timer app you've been waiting for to become your best workout friend. You can use this app for both HIIT workouts, as well as Tabata, running, yoga, strength training. In short, stretching, boxing, or other circuits will come in handy no matter what exercise you're doing.

    It has different workout modes to give you the opportunity to set the timers in the most optimal way depending on the type of workout you are going to do. Plus, you can set them up in just a few seconds thanks to the intuitive user interface. Of course, all the timers you create can be saved, so you won't have to repeat them again if you want to use them again.

    Zero - HIIT and Tabata

    Developer: David Jimenez

    Tabata Timer Stopwatch

    This app offers a simple, clear and very attractive training timer , so much so that you will even have to train with it every day. To set up different workouts, you only need to drag and drop to customize everything associated with them, from the rounds, rest time, time you will perform each exercise, to the circuits you will perform.

    Even though the app is simple, that doesn't mean it doesn't have everything you need to be able to properly set up and organize all your workouts . You'll be able to listen to your favorite music while you workout, and you'll even have audio to accompany you throughout your workout so you don't have to look at your iPhone screen.

    Tabata Timer □ Stopwatch

    Developer: Float Tech, LLC

    Understanding run loop modes

    A run loop mode is a set of input sources, such as screen taps or mouse clicks, that can be monitored and a set of “observers” receiving notifications.
    iOS has three run loop modes:

    default

    : Input sources that are not NSConnectionObjects are processed.
    common
    : a set of input loops are processed, for which you can define a set of input sources, timers, "observers".
    tracking
    : processed by the application UI.

    common mode looks most suitable

    .
    To use it, replace the contents of the createTimer()
    with the following:
    if timer == nil { let timer = Timer(timeInterval: 1.0, target: self, selector: #selector(updateTimer), userInfo: nil, repeats: true) RunLoop.current .add(timer, forMode: .common) timer.tolerance = 0.1 self.timer = timer } The main difference from the previous code is that before assigning the TaskListViewController timer, we add this timer to the execution loop in common
    .

    Compile and run the application.

    Now cell timestamps are updated even if the table is scrolled.

    Traditional stopwatch and timer apps

    Obviously, the App Store doesn't just have exercise-focused stopwatch and timer apps. Other alternatives offer features designed for other activities, such as studying or simply timing activity. Here we talk about some of the brightest.

    Timer +

    countdown timer application from a predefined list at the same time. This will allow you to pause and resume them whenever you want, and indicate the seconds of each of the marked periods, alerting you, of course, even when the application is in the background.

    You can define all the timers you want or need with seconds control, and also save these timers whenever you want to use them on other occasions, so you don't have to program them from scratch. If this app stands out in any way, it is that it is able to offer fantastic services with a clear and simple interface without any complications.

    Timer +

    Developer: Minima Software

    Stopwatch Focus

    Focus Stopwatch promises to be the best tool available in the App Store to be able to manage your time, both on your iPhone, iPad, Apple Watch and even on your Mac . This is the most elegant, attractive and professional solution that allows you to work more and better organize your time across different work activities and individual tasks.

    It has Focus Sessions that are designed to work and be as effective as possible. You can set work intervals with different breaks in between, which you can also customize to suit your needs. It also has a simple task manager to help you organize your work better.

    Stopwatch Focus

    Developer: Meaningful Things GmbH & Co. KG

    Focusi: training stopwatch

    If you have trouble concentrating when you start doing a certain task and need a timer to study, no doubt this alternative will come in handy. be more focused while studying or working . This is a stylish countdown timer that allows you to focus, review, or work with a focus on simplicity.

    You'll be able to add or remove different time slots whenever you want, as well as use them as pomodoros or rest periods. You will be able to quickly view the estimated completion time of each timer before starting a new session. It also has beeps so you always know when the timer is up.

    Focusi: training stopwatch

    Developer: Jordan Holland

    Timer flip - Timer

    This application consists of a full-screen digital timer , completely different from what we saw in this compilation, at least aesthetically. It has the ability to set a countdown, which, combined with the characteristic flipping animation, will allow you to feel the passage of time.

    It also offers chronograph functionality. With this application you can record your sports activities, studies or work and everything you need. Just swipe up to set the countdown duration, set a sound as a reminder, and focus on the task at hand. Of course, keep your iPhone screen on so you can monitor the game's progress at all times.

    Timer flip - Timer

    Developer: Shuyong Jia

    Showing animation

    As you may have guessed, there is nothing to “trigger” our new animation. To do this, we need one more method. TaskListViewController
    animation extension : func showCongratulationsIfNeeded() { if taskList.filter({ !$0.completed }).count == 0 { showCongratulationAnimation() } } We will call this method whenever the user marks the task completed, it checks if all tasks are completed.
    If yes, then it will call showCongratulationAnimation()
    .

    Finally, let's add a call to this method at the end of tableView(_:didSelectRowAt:)

    :
    showCongratulationsIfNeeded() Launch the application, create a couple of tasks, mark them as completed - and you will see our animation!

    Which app is the best?

    Whenever we do this type of compilation, from the ITIGIC development team we want to let you know which application or applications caught our attention the most. However, you should keep in mind that these are our subjective opinions and may or may not be the same as yours depending on your needs.

    First of all, if we have to choose an app that will help us plan and conduct training, we choose HIIT and Tabata due to the combination of features, interface and ease of use that it offers. On the other hand, from the point of view of more traditional applications that are not too focused on sports use, what convinced us most was that Focus because it is completely applicable in all areas and its interface seems very attractive.

    Adding animation to complete all tasks

    Now let's add a congratulatory animation for the user to complete all tasks - the ball will rise from the bottom of the screen to the very top.
    Add these variables at the beginning of the TaskListViewController:

    // 1 var animationTimer: Timer? // 2 var startTime: TimeInterval?, endTime: TimeInterval? // 3 let animationDuration = 3.0 // 4 var height: CGFloat = 0 The purpose of these variables:

    1. storing the animation timer.
    2. storing the start and end times of the animation.
    3. animation duration.
    4. animation height.

    Now let's add the following TaskListViewController
    at the end of the
    TaskListViewController.swift
    : // MARK: - Animation extension TaskListViewController { func showCongratulationAnimation() { // 1 height = UIScreen.main.bounds.height + balloon.frame.size.height // 2 balloon .center = CGPoint(x: UIScreen.main.bounds.width / 2, y: height + balloon.frame.size.height / 2) balloon.isHidden = false // 3 startTime = Date().timeIntervalSince1970 endTime = animationDuration + startTime! // 4 animationTimer = Timer.scheduledTimer(withTimeInterval: 1 / 60, repeats: true) { timer in // TODO: Animation here } } } Here we do the following:

    • calculate the height of the animation, getting the height of the device screen
    • center the ball outside the screen and set its visibility
    • assign the start and end times of the animation
    • we start the animation timer and update the animation 60 times per second

    Now we need to create the actual logic to update the congratulatory animation. Let's add this code after showCongratulationAnimation()
    : func updateAnimation() { // 1 guard let endTime = endTime, let startTime = startTime else { return } // 2 let now = Date().timeIntervalSince1970 // 3 if now >= endTime { animationTimer?.invalidate() balloon.isHidden = true } // 4 let percentage = (now - startTime) * 100 / animationDuration let y = height - ((height + balloon.frame.height / 2) / 100 * CGFloat(percentage )) // 5 balloon.center = CGPoint(x: balloon.center.x + CGFloat.random(in: -0.5…0.5), y: y) } What we do:

    1. check that endTime and startTime are assigned
    2. save the current time as a constant
    3. We make sure that the end time has not yet arrived. If it has already arrived, update the timer and hide our ball
    4. calculate the new y-coordinate of the ball
    5. the horizontal position of the ball is calculated relative to the previous position

    Now let's replace the // TODO: Animation here
    in
    showCongratulationAnimation()
    with this code: self.updateAnimation() Now
    updateAnimation()
    is called whenever the timer event occurs.

    Hurray, we just created an animation. However, when you launch the application, nothing new happens...

    CADisplayLink for smooth animation

    Timer
    is not an ideal choice for controlling animation. You might notice a few frames of animation skipping, especially if you're running the app in a simulator.

    We set the timer to 60Hz. So the timer updates the animation every 16ms. Let's take a closer look at the situation:

    When using Timer

    we don't know the exact time the action started. This can happen either at the beginning or end of the frame. Let's say the timer will run in the middle of each frame (blue dots in the figure). The only thing we know for sure is that the call will be every 16 ms.

    Now we only have 8ms to execute the animation and that may not be enough for our animation. Let's look at the second frame in the picture. The second frame will not be able to complete in its allotted time, so the application will reset the second frame of the animation.

    CADisplayLink will help us

    CADisplayLink
    is called once per frame and attempts to keep the actual animation frames in sync as best it can. Now you will have all 16 ms at your disposal and iOS will not drop a single frame.

    To use CADisplayLink

    , you need to replace
    animationTimer
    with a new type.

    Replace this code

    var animationTimer: Timer?
    to this one: var displayLink: CADisplayLink? You have replaced Timer
    with
    CADisplayLink
    .
    CADisplayLink
    is a timer representation that is tied to the vertical display. This means that the device's GPU will pause until the screen can no longer process GPU commands. This way we get smooth animation.

    Replace this code

    var startTime: TimeInterval?, endTime: TimeInterval? to this: var startTime: CFTimeInterval?, endTime: CFTimeInterval?

    You replaced TimeInterval

    to
    CFTimeInterval
    , which is necessary to work with CADisplayLink.

    Replace the text of the showCongratulationAnimation()

    to this one:
    func showCongratulationAnimation() { // 1 height = UIScreen.main.bounds.height + balloon.frame.size.height balloon.center = CGPoint(x: UIScreen.main.bounds.width / 2, y: height + balloon.frame.size.height / 2) balloon.isHidden = false // 2 startTime = CACurrentMediaTime() endTime = animationDuration + startTime! // 3 displayLink = CADisplayLink(target: self, selector: #selector(updateAnimation)) displayLink?.add(to: RunLoop.main, forMode: .common) } What are we doing here:

    1. We set the animation height, ball coordinates and visibility - approximately the same as we did before.
    2. We initialize startTime
      using
      CACurrentMediaTime()
      (instead of Date()).
    3. We create an instance of the CADisplayLink
      and add it to the execution loop in
      common
      .

    Now replace updateAnimation()
    with the following code: // 1 @objc func updateAnimation() { guard let endTime = endTime, let startTime = startTime else { return } // 2 let now = CACurrentMediaTime() if now >= endTime { // 3 displayLink?.isPaused = true displayLink?.invalidate() balloon.isHidden = true } let percentage = (now - startTime) * 100 / animationDuration let y = height - ((height + balloon.frame.height / 2) / 100 * CGFloat(percentage)) balloon.center = CGPoint(x: balloon.center.x + CGFloat.random(in: -0.5…0.5), y: y) }

    1. Add objc to the method signature (CADisplayLink's selector parameter requires such a signature).
    2. We replace the initialization using Date()

      the CoreAnimation
      date initialization .
    3. Replace the animationTimer.invalidate()
      call with the CADisplayLink pause and invalidate. This will also remove CADisplayLink from the run loop.

    Launch the application!
    Wonderful! Timer based animation

    , to a more suitable
    CADisplayLink
    - and got a smoother animation, without jerks.

    Rating
    ( 2 ratings, average 4.5 out of 5 )
    Did you like the article? Share with friends:
    For any suggestions regarding the site: [email protected]
    Для любых предложений по сайту: [email protected]