How to animate transitions between view controllers

Photo by Nathan Anderson on Unsplash

Welcome the third and final part of our Animation series. In this story, we will discuss how to implement the animation when transiting between view controllers.

You can also find parts one and two here:

Note: I recommend starting where we left at the last part, so you can download the project here. Otherwise, you can still follow this tutorial by creating two view controllers.

At this point, we have LoginViewController and GiftViewController:

How to create movie-like animations

Photo by Bryan Hanson on Unsplash

In the first part of this series, we learned how to implement UIView animation. In this part, we’ll see how to create an animation from an image’s sequence in iOS.

We’ll begin with animating a loading-circle sequence’s images using only UIKit build-in functions. Next, we’ll see how to implement the Lottie library to make this same kind of animation (the singing bird) but much more elegantly and easily — while also providing for better performance. Finally, we’ll do a comparison of the various methods and tools that can produce this same kind of animation.

So here’s the desired result we…

How to animate view components

Photo by Cosmic Timetraveler on Unsplash

Animation is essential to make our apps enjoyable and professional. Users tend to trust and engage more with your app if they feel that the developer has invested effort and been meticulous in making the app more user friendly.

In this three-part series, we will see a complete stack of animations we can do in iOS:

  • View animation. In this first article, we’ll create a view and make the view’s component move in and around.
  • Movie-like animation. In this article, we will learn how to implement the Lottie framework and image sequence. …

Run debugging on new iOS Simulators and Device from lower Xcode version

Photo by Zan on Unsplash

Sometimes we need to debugging a new iOS version on an older Xcode. This is usually needed due to various reasons like testing on iOS Beta, be constrained updating to new Xcode and more. So in this story, we will see how to run a simulator and devices that have iOS version higher than the version Xcode supported.

A common step in setting up for both Simulator and Device is downloading and installing the target Xcode. For example if you want to run iOS 13.4, you need to have Xcode 11.4 or later on your Mac in addition of your…

How do I save 50 Gb from cleaning Xcode related data

Photo by Tianyi Ma on Unsplash

As you may already noticed, Xcode takes a lot of space on your hard drive. From time to time you could see warnings about low storage. Recently I had this problem and my first reflex is finding a script or an app to “clean” my Mac. It helps a bit but not much, since theses apps can only give you “safe” cleaning, typically removing caches data. They don’t “dare” to touch user’s data. After doing some research, I find out 50 Gb to delete from my Xcode related data, and I would like to share with you theses tips. …

How to request properly “Always Allow” permission

Photo by Samuel Foster on Unsplash

In iOS 13, Apple made a big changes in location permission’s behaviour, especially for “Always Allow” permission. As I have been working full time on a location tracking app since 3 years, I encountered a big challenge and learned a lot from it when supporting iOS 13. In this story, I would like to share my experience when dealing with “Always Allow” request, and how iOS 13.4 brought a big improvement for user experience (though it looks like a workaround) to this request.

Note: I assume that audience knows implementing CoreLocation’s permission and functionality. …

Tutorial on how to implement Fastlane to automated your mobile development tasks

Photo by Osman Rana on Unsplash

In previous parts of this tutorial, we talked about how automation is powerful, even essential to our daily work:

In part 1 of “CI/CD automation for mobile development from scratch”, we talked about setting up Bitrise, connect it with your repo, and create a workflow to detect and test all our pull requests:

We also mentioned using Fastlane will level up our ability. Since you are here reading this, we assume that this automation tool interest you :].

Fastlane is an amazing tools to make your CI/CD workflow truly versatile and powerful. It provides a rich set of preset actions…

Tutorial on how to implement a Bitrise pipeline in less than one hour

Photo by Joshua Sortino on Unsplash

This story guide you to implement the CI/CD cloud service in less than one hour. CI/CD is one of the best practices for mobile development teams to implement:

It is also an agile methodology best practice, as it enables mobile development team to focus on meeting business requirements, code quality, and security because other tasks are automated.

In this tutorial, I would like to introduce Bitrise. Bitrise is a leading CI/CD cloud platform for mobile. The setup of workflows using in this platform is easy and intuitive. As a mobile developer, we can setup some basic workflows in just a…

6 reasons to make your mobile development’s workflow automated

Photo by Sai Kiran Anagani on Unsplash

Continuous integration (CI) and continuous delivery (CD) is a set of operating principles, and collection of practices that enable mobile development teams to deliver code changes more frequently, reliably and automatically. The implementation is also known as the CI/CD pipeline.

From almost a decade working as a software engineer, I learned that this is one of the most vital tools we need in the team. The bigger the mobile team we have, the more important this tools become.

Why should we use CI/CD?

CI/CD is one of the best practices for mobile development teams to implement. It is also an agile methodology best practice, as…

Quang NGO

iOS Engineer. Passionate in improving mobile development environment. Sharing best practices and how to do better programming

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store