Before getting into any code, you need to know what you're working with. This video walks you though the starter project and what you'll be adding to it throughout the course.
- [Instructor] Since this is an intermediate-level course, we're going to limit the learning focus to the topic of animations and UIKit. To that effect, I've created a starter project for you to work with throughout the course. Now if you open up the exercise files, you'll find a folder called Animator_Starter. Go ahead and fire up the Xcode project inside. And let's take a look at the storyboard. I've set up four separate ViewControllers so that we can work with each set of animation topics separately. I've done it this way instead of lumping everything together so that we have a clear reference project after completing the course.
Go ahead and select the SpringsAndTransitionsViewController from the controller subfolder. And let's take a quick look at what we'll be working with. Now each ViewController has the same structure so we'll just quickly go through this one as a template. Inside each file, I've set up the IBOutlets for all the views we're going to animate as well as included override methods for view will appear and view did appear. These are going to be crucial for how we structure our animations when each ViewController loads. For the screens where we'll be using programmatically created views, I've gone ahead and configured them in viewDidLoad to save us some time.
You'll also see different TODO comments throughout each file which we'll use to keep track of our goals and the different implementation code we'll be writing. I've also included a utility subfolder with files for our constants and some common extensions. Feel free to look these over but they're just to make our development a bit easier as we move through the course. With the logistics out of the way, let's dive into the basic theory and functionality of UIKit animations and how to fit them into the IOS view lifecycle.
- How animations fit into the view controller lifecycle
- Writing simple view animations
- Making use of animation options
- Adding spring animations
- Working with keyframes
- Using calculation modes
- Animating constraint values